C# 如何在HtmlAlityPack中设置对HtmlWeb的引用
我想分配一个动态(意味着推荐人会根据请求URL进行更改) 我找不到C# 如何在HtmlAlityPack中设置对HtmlWeb的引用,c#,html-agility-pack,C#,Html Agility Pack,我想分配一个动态(意味着推荐人会根据请求URL进行更改) 我找不到referer或Headers属性。我只能看到PreRequest,我可以在其中添加处理程序。是否有其他方法可以在不使用全局变量的情况下将referer传递给处理程序 void SomeMethod() { .... var referrer = "some URL"; //web.Referrer = referrer; Ideal way, but not possible
referer
或Headers
属性。我只能看到PreRequest
,我可以在其中添加处理程序。是否有其他方法可以在不使用全局变量的情况下将referer传递给处理程序
void SomeMethod()
{
....
var referrer = "some URL";
//web.Referrer = referrer; Ideal way, but not possible
web.PreRequest += OnPreRequest;
....
}
bool OnPreRequest(HttpWebRequest req)
{
req.Referer = ??; //how to know the referrer address here?
return false;
}
有没有其他方法可以在不使用全局变量的情况下将引用传递给处理程序
void SomeMethod()
{
....
var referrer = "some URL";
//web.Referrer = referrer; Ideal way, but not possible
web.PreRequest += OnPreRequest;
....
}
bool OnPreRequest(HttpWebRequest req)
{
req.Referer = ??; //how to know the referrer address here?
return false;
}
您可以使用捕获的变量。例如,请参阅此链接或此
现在你可以做了
void SomeMethod()
{
var referrer = "some URL";
web.PreRequest += (req){
req.Referer = referrer;
return false;
};
}
一些注意事项:
什么是闭包?
闭包是一个函数,可以存储在变量中,作为参数传递,并引用定义时可见的变量
捕获的变量
闭包引用的外部变量称为捕获变量