Проблема: Переопределение хидера HOST в WebRequest
От: Sinclair Россия https://github.com/evilguest/
Дата: 20.11.06 03:13
Оценка:
... Точнее, в HttpWebRequest.
Итак, коллеги, вот проблема:
есть нужда обратиться к свежезарегистрированному домену по протоколу HTTP. Проблема, собственно, в том, что DNS для него еще не отрефрешился, поэтому прицепиться к нему по доменному имени еще нельзя. IP адрес нам известен. В PHP мы просто обращаемся по IP и вручную выставляем хидер Host, чтобы HTTP-сервер мог правильно определить сайт, к которому мы коннектимся. В дотнете так делать, оказывается, нельзя — хидер Host принадлежит к числу запрещенных, и попытка его переопределить бросает исключение.

Отнаследоваться от HttpRequest не получится: во-первых, его единственный неинтернальный конструктор сделан исключительно для сериализации, и использовать его для конструирования реквеста крайне тяжело.
Во-вторых, есть места, где используется не обращение к виртуальному property Headers, а напрямую к полю HttpWebRequest-а, его реализующему. Это означает, что при перекрытии этого свойства в наследнике можно получить неожиданные эффекты.

Таким образом, мы на данный момент уперлись в тупик. Реализовывать весь протокол HTTP с нуля мы не готовы.

Может быть, у кого-то из вас есть другие идеи, как можно добиться желаемого? Может быть, обмануть DNS?
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Решение: Переопределение хидера HOST в WebRequest
От: Sinclair Россия https://github.com/evilguest/
Дата: 21.11.06 05:26
Оценка:
Посыпаю голову пеплом: я идиот.
Все, что нужно сделать для достижения данного эффекта:
    WebRequest req = WebRequest.Create("http://www.newdomain.com/");
    req.Proxy = new WebProxy("http://DOMAIN.IP.ADDRESS:80/");
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Решение: Переопределение хидера HOST в WebRequest
От: Nisus  
Дата: 21.11.06 07:22
Оценка: 75 (1)
S>Все, что нужно сделать для достижения данного эффекта:
S>
S>    WebRequest req = WebRequest.Create("http://www.newdomain.com/");
S>    req.Proxy = new WebProxy("http://DOMAIN.IP.ADDRESS:80/");
S>


эх, работала бы синхронизация, ответ был бы уже через 4 часа после того, как был задан вопрос
Проблема: Переопределение хидера HOST в WebRequest
От: Аноним  
Дата: 20.11.06 07:42
Оценка:
Вообще есть возможность это сделать через WebProxy, но немного кривовато, вот тут есть пример — http://blogs.msdn.com/feroze_daud/archive/2005/03/31/404328.aspx


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.