代码之家  ›  专栏  ›  技术社区  ›  Damn Vegetables

如何在HtmlAgilityPack中设置对HtmlWeb的引用

  •  3
  • Damn Vegetables  · 技术社区  · 7 年前

    我找不到 Referrer Headers PreRequest ,我可以向其中添加处理程序。有没有其他方法可以在不使用全局变量的情况下将引用传递给处理程序?

       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;
        }
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Community CDub    4 年前

    有没有其他方法可以在不使用全局变量的情况下将引用传递给处理程序?

    您可以使用 . 例如,请参见此链接 "Understanding Variable Capturing in C#" Closures and Captured Variable C#

    现在你可以做了

    void SomeMethod()
    {
        var referrer = "some URL";
        web.PreRequest += (req){
            req.Referer = referrer;
            return false;
        };
    }
    

    一些注意事项:

    什么是闭包?

    捕获的变量