我想从网页填充我的MultiLine文本框,这是我的代码:
WebRequest request = WebRequest.Create(urltxt.Text.Trim());
WebResponse response = request.GetResponse();
Stream data = response.GetResponseStream();
string html = String.Empty;
using (StreamReader sr = new StreamReader(data))
{
html = sr.ReadToEnd();
}
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);
var htmlBody = htmlDoc.DocumentNode.SelectSingleNode("//body");
valuetxt.Text = htmlBody.InnerText;
此代码适用于某些网址,但对于某些网址(https),这给了我一个错误:
无法找到文件'C:\ Program Files \ IIS Express \ www.justdial.com
或:
远程服务器返回错误:(403)禁止
任何人都可以帮助我吗?提前谢谢,抱歉我的英语不好。
答案 0 :(得分:0)
您的地址似乎一开始没有 http:// 或 https:// ;在urltxt
变量中,由于相对寻址,您会收到错误。
答案 1 :(得分:0)
你是代理人吗?即使在开放的互联网上,根据您的网络配置,您可能需要在请求之前在连接中设置凭据。
WebRequest request = WebRequest.Create(urltxt.Text.Trim());
request.Credentials = new NetworkCredential("user", "password");
答案 2 :(得分:0)
在您的请求中添加UserAgent
以正确连接 https :
request.UserAgent = @"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36";
来自here