Tengo que integrarme con una API de terceros. Para usar el servicio, tengo que "POST" a una url específica con ciertos parámetros.¿Cuál es la forma equivalente de establecer los parámetros de publicación en .net?
El código de ejemplo proporcionado por el servicio está en php y es el siguiente
$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);
Estoy tratando de utilizar la clase WebRequest para lograr el mismo en .NET. Sin embargo, estoy un poco confundido acerca de cómo configurar los datos del parámetro post. Pensé que los datos de $ anteriores no son más que un diccionario. Así que creé un diccionario equivalente. Sin embargo, ¿cómo configuro los parámetros de publicación con los valores del diccionario?
En http://msdn.microsoft.com/en-us/library/debx8sh9.aspx, han serializado una cadena a una matriz de bytes y luego se establece como el parámetro de publicación en el flujo de datos. ¿Cómo hago lo mismo con un diccionario?
¿O es mi enfoque incorrecto? ¿Hay una mejor manera de hacer esto?
¿Hay un equivalente de CURLOPT_SSL_VERIFYPEER de modo que pueda ignorar cualquier excepción de SSL? El certificado remoto es un certificado SSL autogenerado y los desarrolladores Api de terceros quieren que otros ignoren las advertencias SSL. ¿O el enfoque que se muestra en http://www.ben-morris.com/asp-net-web-services-and-ssl-certificates-establishing-a-trust-relationship es la manera más fácil? ¿Debería ser esta una pregunta separada? – shashi
@sassyboy re SSL, consulte http://stackoverflow.com/questions/109186/bypass-invalid-ssl-certificate-errors-when-calling-web-services-in-net/865786#865786 –
Gracias. Eso hizo el truco! – shashi