Ответ 1
Класс HttpWebRequest
имеет свойство ServicePoint
, которое можно использовать для изменения этого параметра для конкретного запроса. Например:
var req = (HttpWebRequest) WebRequest.Create(...);
req.ServicePoint.Expect100Continue = false;
HttpWebRequest
автоматически добавляет заголовок Expect: 100-continue
для запросов POST. Различные источники в Интернете говорят о том, что это можно отключить следующим образом:
System.Net.ServicePointManager.Expect100Continue = false;
Однако я пишу библиотеку, и я не могу отключить ее для всего приложения, если приложение использует это поведение. Я также не могу предположить, что он останется установленным для этого значения. Как я могу отключить его для конкретного запроса?
Класс HttpWebRequest
имеет свойство ServicePoint
, которое можно использовать для изменения этого параметра для конкретного запроса. Например:
var req = (HttpWebRequest) WebRequest.Create(...);
req.ServicePoint.Expect100Continue = false;
Если вам также необходимо установить прокси-сервер, обязательно сделайте это первым. В противном случае Expect100Continue снова вернется к true. Итак:
HttpWebRequest webRequest = WebRequest.CreateHttp(_url);
webRequest.Proxy = new WebProxy(_proxyHost, _proxyPort);
webRequest.ServicePoint.Expect100Continue = false;