我设置了一个代理实例并将其与webrequest对象一起使用。
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
按预期工作,但我希望在网页浏览器控件中显示该页面,而不会丢失信息和设计。如果我将控件的文档文本设置为刚下载的源文件。它的格式很糟糕。
编辑:我有没有办法将代理对象应用到Web浏览器控件本身?
答案 0 :(得分:0)
编辑 WebBrowser控件只使用IE的设置,因此您不必自己设置代理。请参阅http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/f4dc3550-f213-41ff-a17d-95c917bed027/如何在代码中设置IE代理。
这里的问题是,您通过WebRequest
收到的HTML包含当前上下文中不存在的CSS文件的相对路径。您可以通过在<head>
部分添加以下标记来修改HTML:
<base href="http://domainname.com/" />
之后,WebBrowser控件将解析此标记中域的相对CSS路径。