c# – 在.net中设置post参数的等效方法是什么?
发布时间:2020-12-15 04:07:24 所属栏目:百科 来源:网络整理
导读:我必须与第三方API集成.要使用该服务,我必须“POST”到具有某些参数的特定URL. 该服务提供的示例代码在php中,如下所示 $data = array('From' = '0999999','To' = '08888888'); $curl = curl_init();curl_setopt($curl,CURLOPT_FAILONERROR,true);curl_setopt
我必须与第三方API集成.要使用该服务,我必须“POST”到具有某些参数的特定URL.
该服务提供的示例代码在php中,如下所示 $data = array('From' => '0999999','To' => '08888888'); $curl = curl_init(); curl_setopt($curl,CURLOPT_FAILONERROR,true); curl_setopt($curl,CURLOPT_RETURNTRANSFER,CURLOPT_SSL_VERIFYPEER,false); <--- Ignore SSL warnings curl_setopt($curl,CURLOPT_POST,true); curl_setopt($curl,CURLOPT_POSTFIELDS,$data); 我正在尝试使用WebRequest类在.net中实现相同的功能.但是,我对如何设置post参数数据感到有点困惑.我认为上面的$data只不过是一本词典.所以我创建了一个等效的字典.但是,如何使用字典值设置post参数? 在http://msdn.microsoft.com/en-us/library/debx8sh9.aspx中,他们将字符串序列化为字节数组,然后将其设置为dataStream中的post参数.我如何为字典做同样的事情? 或者我的方法不正确?有一个更好的方法吗? 解决方法
通常,WebClient.UploadValues将是最简单的方法;
see MSDN for a full example.但请注意,这仅涵盖CURLOPT_POSTFIELDS和CURLOPT_POST.错误失败是自动和隐式的,并且响应已经包含在byte []中.
即 using(var client = new WebClient()) { var data = new NameValueCollection(); data.Add("From","0999999"); data.Add("To","08888888"); var result = client.UploadValues(url,data); } 注意POST隐含在这里;如果您需要不同的http方法,请使用重载: var result = client.UploadValues(url,"PUT",data); // for example (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |