我有一个名为login(String txtEmail, String txtPassWord)
的方法
该方法为特定网站生成HttpWebRequest
"POST"
类型,使用StreamWriter
写入要提交的数据,回复,然后使用StreamReader
和&gt读取回复;>
using (StreamReader read = new StreamReader(loginRes.GetResponseStream()))
pageSource = read.ReadToEnd();
这是在方法内。
我有另一个名为GetData()
的方法,它使用HTMLAgilityPack
从网站获取一些特定的段落
我的问题是如何从方法GetData()
访问pageSource中的数据?
所以GetData()
就像这样>>
HtmlAgilityPack.HtmlDocument CPC = new HtmlAgilityPack.HtmlDocument();
return CPC.Load(read.ReadToEnd());
这会产生错误,表示read isn't in the current context.
或者变成这样>>
HtmlAgilityPack.HtmlDocument CPC = new HtmlAgilityPack.HtmlDocument();
return CPC.Load(pageSource);
但这会产生一个错误can't convert void to string
,
我只想让read
可读GetData()
我的应用程序>>
public String pageSource = String.Empty;
答案 0 :(得分:0)
而return CPC.Load()
不返回任何内容,请先调用Load
方法并在单独的命令中返回CPC本身。
这样:
using (StreamReader read = new StreamReader(loginRes.GetRequestStream()))
return GetData(read);
和
HtmlAgilityPack.HtmlDocument GetData(StreamReader reader)
{
HtmlAgilityPack.HtmlDocument CPC = new HtmlAgilityPack.HtmlDocument();
CPC.Load(reader);
return CPC;
}
或使用LoadHtml,它采用字符串
HtmlAgilityPack.HtmlDocumentGetData(string doc)
{
HtmlAgilityPack.HtmlDocument CPC = new HtmlAgilityPack.HtmlDocument();
CPC.LoadHtml(doc);
return CPC;
}