【发布时间】:2014-06-11 11:42:01
【问题描述】:
如果给定一个特定的 url,我有一个方法来获取 ids 和 xpaths。如何在请求中传递用户名和密码,以便我可以抓取需要用户名和密码的 url?
using HtmlAgilityPack;
_web = new HtmlWeb();
internal Dictionary<string, string> GetidsAndXPaths(string url)
{
var webidsAndXPaths = new Dictionary<string, string>();
var doc = _web.Load(url);
var nodes = doc.DocumentNode.SelectNodes("//*[@id]");
if (nodes == null) return webidsAndXPaths;
// code to get all the xpaths and ids
我应该使用网络请求来获取页面源,然后将该文件传递给上述方法吗?
var wc = new WebClient();
wc.Credentials = new NetworkCredential("UserName", "Password");
wc.DownloadFile("http://somewebsite.com/page.aspx", @"C:\localfile.html");
【问题讨论】:
-
我会先粘贴您遇到的任何错误。其次,尝试使用
System.Net.Http.HttpClient,因为它更清楚如何设置身份验证详细信息。
标签: c# html-agility-pack networkcredentials