Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.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网站以获取数据_C#_Webclient - Fatal编程技术网

C# 登录.NET网站以获取数据

C# 登录.NET网站以获取数据,c#,webclient,C#,Webclient,我正在尝试创建一个小应用程序,它可以登录网站,对网站进行爬网,并保存各种数据。 我在创建登录网站的webclient时遇到问题。 我一直在关注网站上呈现的各种解决方案,以及谷歌搜索的前五页所建议的解决方案。所有这些都没有产生结果 该站点正在运行.NET,因此我想知道是否是viewstate导致了问题 使用这里提供的解决方案:我只能看到SessionId cookie,而不能看到登录后应该存在的.ASPXAUTH cookie 建议?我建议您遵循以下计划: 1安装并运行fiddler 2清除浏览器

我正在尝试创建一个小应用程序,它可以登录网站,对网站进行爬网,并保存各种数据。 我在创建登录网站的webclient时遇到问题。 我一直在关注网站上呈现的各种解决方案,以及谷歌搜索的前五页所建议的解决方案。所有这些都没有产生结果

该站点正在运行.NET,因此我想知道是否是viewstate导致了问题

使用这里提供的解决方案:我只能看到SessionId cookie,而不能看到登录后应该存在的.ASPXAUTH cookie


建议?

我建议您遵循以下计划:

1安装并运行fiddler

2清除浏览器缓存和cookie

3进入你的页面,登录并查看fiddler中发生了什么,检查请求和响应,重定向等

在大多数情况下,流量是

获取登录页面->

将凭据发布到授权页面并获取Cookie/hash响应->

使用此cookie/hash获取授权页面

了解这些步骤后,使用WebClient或更好的HttpWebRequest和HttpWebResponse就可以轻松实现


请参阅以获取帮助

我建议使用一些浏览器自动化软件(如Selenium)来完成此操作。通过这种方式,您实际上可以刺激浏览器能够登录,然后刮取数据

下面是一个很好的例子,说明如何做到这一点:

每个网站的身份验证方式都不同,因此不能保证一个网站上的方法在另一个网站上有效,我将投票关闭,抱歉!事实上,它是一个.NET网站在很大程度上是无关紧要的;http是http是http;然而,网站所有者不太可能希望您这样做——如果他们这样做了,他们会创建一个API。如果他们正在验证任何秘密令牌,会发生什么?e、 g.防伪token@JamieRees反伪造令牌也将在POST步骤中发送,因此您必须解析第一个GET响应,该响应必须位于页面上的位置,然后在POST中发送