Прокси C # с именем пользователя и паролем - PullRequest
0 голосов
/ 17 мая 2011

Я настроил экземпляр прокси и использовал его с объектом веб-запроса.

        WebProxy a = new WebProxy("ip:port", true);
        proxy.Credentials = new NetworkCredential("username", "password");

        WebRequest b = WebRequest.Create("webpage url");
        b.Proxy = proxy;

        WebResponse c = req.GetResponse();

        StreamReader d = new StreamReader(c.GetResponseStream());

        d.ReadToEnd();//web page source

Работает как надо, но я хочу отобразить страницу в элементе управления веб-браузера без потери информации и дизайна.Если я установлю текст документа моего элемента управления на источник, который был только что загружен.У него очень плохое форматирование.

edit: есть ли способ применить прокси-объект к самому элементу управления веб-браузера?

1 Ответ

0 голосов
/ 17 мая 2011

edit Элемент управления WebBrowser просто использует настройки IE, поэтому вам не нужно устанавливать прокси-сервер самостоятельно.См. http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/f4dc3550-f213-41ff-a17d-95c917bed027/, как установить прокси IE в коде.


Проблема в том, что HTML, полученный через WebRequest, содержит относительные пути к файлам CSSкоторые не присутствуют в текущем контексте.Вы можете изменить HTML, добавив следующий тег в раздел <head>:

<base href="http://domainname.com/" />

После этого элемент управления WebBrowser разрешает относительные пути CSS к домену в этом теге.

...