Подтвердить что ты не робот

Как отключить заголовок "Ожидать: 100 продолжить" в HttpWebRequest для одного запроса?

HttpWebRequest автоматически добавляет заголовок Expect: 100-continue для запросов POST. Различные источники в Интернете говорят о том, что это можно отключить следующим образом:

System.Net.ServicePointManager.Expect100Continue = false;

Однако я пишу библиотеку, и я не могу отключить ее для всего приложения, если приложение использует это поведение. Я также не могу предположить, что он останется установленным для этого значения. Как я могу отключить его для конкретного запроса?

4b9b3361

Ответ 1

Класс HttpWebRequest имеет свойство ServicePoint, которое можно использовать для изменения этого параметра для конкретного запроса. Например:

var req = (HttpWebRequest) WebRequest.Create(...);
req.ServicePoint.Expect100Continue = false;

Ответ 2

Если вам также необходимо установить прокси-сервер, обязательно сделайте это первым. В противном случае Expect100Continue снова вернется к true. Итак:

HttpWebRequest webRequest = WebRequest.CreateHttp(_url);
webRequest.Proxy = new WebProxy(_proxyHost, _proxyPort);
webRequest.ServicePoint.Expect100Continue = false;