Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于.net的非UI无头浏览器_C#_.net_Browser_Headless - Fatal编程技术网

C# 用于.net的非UI无头浏览器

C# 用于.net的非UI无头浏览器,c#,.net,browser,headless,C#,.net,Browser,Headless,我正在.NETC#中开发一个网络爬虫程序,其工作原理如下 第1步访问站点的主页(我们将此页面称为main.aspx) 步骤2使用httpwebrequest获取表单页面(我们将此页面称为form.aspx) 第3步将表单发布到另一页并获得结果。(我们将此页面称为Results.aspx) 就网络爬行而言,这是非常直截了当的 当前的问题是,如果我以前没有设置一堆cookie,我就无法访问Form.aspx页面。所有这些cookie都是Main.aspx生成的javascript 每当我试图直接获取

我正在.NETC#中开发一个网络爬虫程序,其工作原理如下

第1步访问站点的主页(我们将此页面称为main.aspx)

步骤2使用httpwebrequest获取表单页面(我们将此页面称为form.aspx)

第3步将表单发布到另一页并获得结果。(我们将此页面称为Results.aspx)

就网络爬行而言,这是非常直截了当的

当前的问题是,如果我以前没有设置一堆cookie,我就无法访问Form.aspx页面。所有这些cookie都是Main.aspx生成的javascript

每当我试图直接获取Form.aspx页面时,就会被重定向到主页面。生成cookies的代码超过20kb,而且非常凌乱和疯狂,它还使用了大量的“document.”引用,这些引用会阻止使用JINT或Javascript.net的简单尝试

所以经过大量的研究,我发现无头浏览器正是我所寻找的,我尝试了很多,但似乎有很多复杂之处。我已经有了一个类库项目,里面有我所有的网络爬虫,我只是想要另一个dll来让它工作。有什么建议吗


我想说得尽可能清楚,如果你有任何疑问,请在投反对票之前发表评论…

使用PhantomJS的.NET绑定,这是一种无头webkit浏览器。您可能会考虑到一个完整的自动化框架,比如硒,它是用于测试的。 然而,你所要求的并不简单。你要求大量的抽象,这样你就可以在你的应用程序中保持现有的简单程度


如果您不介意使用“全头部”浏览器,您也可以通过COM使用Windows窗体“WebBrowser”控件或远程控制Internet Explorer。

您是否可以显示您试图访问窗体的方式?您可能没有设置或创建您正试图访问的窗体的实例consume@Andrey,你好。这个问题会倒退(已删除,仅限10K+用户,抱歉),因为至少您提供了足够的信息来理解您想要实现的目标和路上的障碍(尽管您在删除问题之前编辑了所有这些信息,我想知道为什么)。我以前说过这句话,我会再重复一遍:不管你的目标和你认为实现这些目标的必要手段是什么,像这样的问题对于堆栈溢出来说太广泛了。@FrédéricHamidi你好。现在我对这个问题有了更清晰的认识。在我的研究中,我在堆栈溢出中发现了很多问题,现在我找到了一个很好的解决方案。我将在一个非ui项目上测试它,并将结果发布在这里。您可能是这里的超级用户,但这并不能让您判断一个问题是否很难解决,因为堆栈溢出。这个网站真的很好,我总是在这里找到很好的答案。即使我在这里得到的答案也很有道理,只是缺少一个“操作指南”。我将试着发布一个想法,那么为什么要发布这个问题呢?直到我将所有片段与艾克鲁的答案匹配在一起,我才知道答案。等一下,让我贴上步行街为什么要投否决票?这与OP的问题相匹配-一个无头、非UI的.NET浏览器。谢谢aikeru,很高兴知道这里有专家。你的anwser真的很好,我会添加一个“操作”来帮助那些完全沉浸在其中的人,就像我从现在起8个小时了。当然。如果您想知道如何将PhantomJS与.NET结合使用,我认为这是一个不同的问题。否则,我会尝试在这里回答。我希望我知道为什么人们现在投票反对这个问题(