metodo example data c# httpwebrequest

example - webrequest post parameters c#



¿Cómo configurar los campos de encabezado Aceptar y Aceptar-Idioma? (5)

Puedo configurar Request.Content-Type = ..., Request.Content-Length = ...

¿Cómo configurar Aceptar y Aceptar-Idioma?

Quiero subir un archivo (RFC 1867) y necesito crear una solicitud como esta:

POST /test-upload.php.xml HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 (Windows NT 5.2; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: tr-tr,tr;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-9,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Content-Type: multipart/form-data; boundary=---------------------------21724139663430 Content-Length: 56048


Cuando desee configurar el tipo de aceptación y el tipo de contenido, simplemente convierta la consulta web a HttpwebRequest

var webreq= (HttpWebRequest)WebRequest.Create(requestUri); webreq.Method = "POST"; webreq.Accept = "application/json"; webreq.ContentType = "application/json";


Debe asegurarse de escribir la solicitud para (HttpWebRequest), donde está disponible la propiedad de cabecera de aceptación.

En la antigua clase WebRequest, el encabezado Aceptar no es accesible.


Echa un vistazo a la propiedad Aceptar :

HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create(myUri); myHttpWebRequest.Accept="image/*"; HttpWebResponse myHttpWebResponse= (HttpWebResponse)myHttpWebRequest.GetResponse();

Este artículo de MSDN muestra cómo agregar encabezados personalizados a su solicitud:

//Get the headers associated with the request. WebHeaderCollection myWebHeaderCollection = myHttpWebRequest.Headers; //Add the Accept-Language header (for Danish) in the request. myWebHeaderCollection.Add("Accept-Language:da"); //Include English in the Accept-Langauge header. myWebHeaderCollection.Add("Accept-Language","en;q=0.8");


Si está utilizando HttpRequestMessage , configure el encabezado con el método Headers.Add. En tu caso :

request.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");


Tengo que confirmar después de varios intentos molestos de usar los encabezados que el

myWebHeaderCollection.Add("foo","bar"); La solución funciona perfectamente.

Si quieres configurar el idioma.

myWebHeaderCollection.Add("AcceptCharset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7"); myWebHeaderCollection.Add("TransferEncoding", "gzip,deflate");

Sin embargo, no establece los valores. Lo que puede parecer una conclusión lógica dado que el primero funciona.