Добавление пользовательских заголовков Http в прокси-сервер веб-службы
У меня есть старое приложение, которое использует классический прокси веб-сервисов для взаимодействия с веб-службой Java. Некоторое время назад хост веб-службы решил потребовать, чтобы пользовательский HTTP-заголовок отправлялся с каждым запросом, чтобы получить доступ к сервису, - иначе запросы будут выброшены прямо (похоже, что это своего рода требование к маршрутизатору). Независимо от причины, по которой мне нужно ввести пользовательский HTTP-заголовок в запрос.
Есть ли способ взаимодействовать с фактическим клиентом Http, чтобы делать такие вещи, как добавлять пользовательские заголовки?
Ответы
Ответ 1
Вы должны сделать это, переопределив метод GetWebRequest
класса proxy в частичном классе в отдельном файле. После вызова метода базового класса вы должны иметь возможность изменить возвращаемый HttpWebRequest, как вам нравится, а затем вернуть его из метода:
public partial class MyServiceProxy {
protected override WebRequest GetWebRequest(Uri uri) {
HttpWebRequest request = (HttpWebRequest) base.GetWebRequest(uri);
// do what you will with request.
return request;
}
}