我必須與第三方API集成。要使用該服務,我必須「POST」到具有特定參數的特定網址。在.net中設置發佈參數的等效方法是什麼?
服務所提供的示例代碼是在PHP是如下
$data = array('From' => '0999999', 'To' => '08888888');
$curl = curl_init();
curl_setopt($curl, CURLOPT_FAILONERROR, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); <--- Ignore SSL warnings
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
我試圖使用WebRequest類來實現.NET一樣。但是,我對如何設置後期參數數據有點困惑。我認爲上面的$數據不過是一個字典。所以我創建了一個等價的字典。但是,如何使用字典值設置發佈參數?
在http://msdn.microsoft.com/en-us/library/debx8sh9.aspx中,他們已經將字符串序列化爲一個字節數組,然後將其設置爲dataStream中的post參數。我如何對字典做同樣的事情?
或者我的方法不正確?有一個更好的方法嗎?
是否有相當於CURLOPT_SSL_VERIFYPEER的值,以便我可以忽略任何SSL異常?遠程證書是自己生成的SSL證書,第三方Api開發人員希望其他人忽略任何SSL警告。或者,在http://www.ben-morris.com/asp-net-web-services-and-ssl-certificates-establishing-a-trust-relationship上顯示的方法是最簡單的方法嗎?這應該是一個單獨的問題嗎? – shashi
@sassyboy重新SSL,請參閱http://stackoverflow.com/questions/109186/bypass-invalid-ssl-certificate-errors-when-calling-web-services-in-net/865786#865786 –
謝謝。這就是訣竅! – shashi