1

我正在尝试连接和下载需要非“超载”身份验证的网站内容。

选项包括:

  • 用户
  • 用户+密码,
  • 用户+密码+域名

我需要用户+订户+密码。我怎样才能通过这个凭据?

代码:

WebClient client = new WebClient();  
public void search()  
{  
        client.Credentials = new System.Net.NetworkCredential(username, subscriber, password); //not really exist  
        Byte[] pageData = client.DownloadData("https://example.com/");
...  
}
4

1 回答 1

1

我是如何解决这个问题的:使用改进的 WebClient 类的 POST 方法,它类似于 webclient,但可以保存 cookie。你可以在这里找到它。
代码:

ImprovedWebClient wc = new ImprovedWebClient();
wc.DownloadData("https://theWebSite.com"); //to enter home page and get cookie
string URI = "https://theWebSite.com/authenticate"; //the login page
string myParameters = "user=theUserName&subscriber_number=1234-5678&password=myPassword&commit=LogIn"; //the parameters for the website
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
wc.UploadString(URI, myParameters);

谢谢你们的帮助。

于 2013-03-13T08:41:45.790 回答