Добавление пользовательских заголовков Http в прокси веб-службы - PullRequest
12 голосов
/ 21 августа 2009

У меня есть старое приложение, которое использует классический прокси-сервер веб-службы для взаимодействия с веб-службой Java. Некоторое время назад хостер веб-службы решил требовать отправку настраиваемого HTTP-заголовка с каждым запросом для доступа к службе - в противном случае запросы отбрасываются напрямую (похоже, это своего рода требование маршрутизатора). Независимо от того, по какой причине мне нужно вставить пользовательский заголовок HTTP в запрос.

Есть ли способ взаимодействия с настоящим Http-клиентом для таких вещей, как добавление пользовательских заголовков?

1 Ответ

20 голосов
/ 21 августа 2009

Это можно сделать, переопределив метод GetWebRequest прокси-класса в частичном классе в отдельном файле. После вызова метода базового класса вы сможете изменить возвращенный запрос 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;
    }
}
...