这个问题的后续行动我的 前一个问题 关于获得HTML从ASPX页。我决定试试使用web客户端的对象,但是问题是我得到登录页上的HTML因为需要登录。我试过了"记录"使用web客户端的对象:

WebClient ww = new WebClient();

 ww.DownloadString("Login.aspx?UserName=&Password=");

 string html = ww.DownloadString("Internal.aspx");

但我仍然得到登录网页的所有的时间。我知道,的信息的用户名是不存在的cookie。我必须做一些错误或离开出的一个重要部分。任何人都不会知道可能是什么?

有帮助吗?

解决方案

只是通过有效的登录参数一定URI。应该帮助你。

如果您没有登录的信息你不应该试图规避它。

public static string HttpPost( string URI, string Parameters )
      {
         System.Net.WebRequest req = System.Net.WebRequest.Create( URI );
         req.ContentType = "application/x-www-form-urlencoded";
         req.Method = "POST";
         byte[] bytes = System.Text.Encoding.ASCII.GetBytes( Parameters );
         req.ContentLength = bytes.Length;
         System.IO.Stream os = req.GetRequestStream();
         os.Write( bytes, 0, bytes.Length );
         os.Close();
         System.Net.WebResponse resp = req.GetResponse();
         if ( resp == null ) return null;
         System.IO.StreamReader sr = new System.IO.StreamReader( resp.GetResponseStream() );
         return sr.ReadToEnd().Trim();
      }

其他提示

试图设定的凭证的财产Web客户端的对象

WebClient ww = new WebClient();
ww.Credentials = CredentialCache.DefaultCredentials;
ww.DownloadString("Login.aspx?UserName=&Password=");
string html = ww.DownloadString("Internal.aspx");

也不会开口的页面浏览器与"登录。aspx?UserName=&Password="科的工作?
一些网页也可以不允许登录使用的数据提供的网址,并且它必须进入的登录的形式在网页上,然后提交的。

唯一的其他原因,我能想到的就是该网页是故意阻止它从登陆。如果你有访问代码,看看登陆系统用来查看是否有任何旨在阻止这样的登录。

使用 提琴手 见HTTP请求和响应发生的,当你做这手通过浏览器。

@火枪手:我问自己同样的问题在我的测试,所以我检查,并且它的工作从一浏览器。

作为aspx页,我是想得到的就是在我自己的projct,我可以使用的服务器。执行方法。更多的细节 我的回答 到我最初的问题

使用火狐的 LiveHttpHeaders 插件。
这将允许您可以登录通过一个实际的浏览器,看看到底是什么被送到服务器。我的第一个问题是将验证这不是在期待一个员额从形式。例URL载发送的信息,通过一个查询得到的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top