Как установить поля заголовка Accept и Accept-Language?
Я могу установить Request.Content-Type =..., Request.Content-Length =...
Как установить Accept и Accept-Language?
Я хочу загрузить файл (RFC 1867) и создать такой запрос:
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
Ответы
Ответ 1
Взгляните на Принять свойство:
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create(myUri);
myHttpWebRequest.Accept="image/*";
HttpWebResponse myHttpWebResponse=
(HttpWebResponse)myHttpWebRequest.GetResponse();
В этой статье MSDN показано, как добавить пользовательские заголовки к вашему запросу:
//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");
Ответ 2
Мне нужно подтвердить несколько раздражающих попыток использовать заголовки, чтобы
myWebHeaderCollection.Add("foo","bar");
решение работает отлично.
если вы хотите установить язык.
myWebHeaderCollection.Add("AcceptCharset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
myWebHeaderCollection.Add("TransferEncoding", "gzip,deflate");
Не устанавливает значения. Что может показаться логическим завершением, если первый работает.
Ответ 3
Если вы используете HttpRequestMessage, установите заголовок, используя метод Headers.Add. В вашем случае:
request.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
Ответ 4
Вы должны быть уверены, что введите тип запроса (HttpWebRequest), где доступно свойство заголовка accept.
В старом классе WebRequest заголовок Accept не доступен.
Ответ 5
Если вы хотите установить тип Accept и тип контента, просто переведите webrequest в HttpwebRequest
var webreq= (HttpWebRequest)WebRequest.Create(requestUri);
webreq.Method = "POST";
webreq.Accept = "application/json";
webreq.ContentType = "application/json";