我对此很陌生,没有其他人可以问。我正在尝试以编程方式(C#)访问一些网页抓取软件的网页。我已经弄清楚了使用 HttpWebResponse 和 HttpWebRequest 类通过网页表单执行登录的过程,但是我有一个具有两阶段登录过程的网站。
首次登录通过弹出窗口进行。后台没有加载网页,只是弹出一个对话框说需要验证并提示输入用户名和密码。
通过第一次登录后,第二次登录只是一个 Web 表单,我应该能够根据我已经学到的知识来处理自己。
我的问题:如何以编程方式为弹出式身份验证请求提供登录信息?
编辑
只是为了提供更多信息。Fiddler 在尝试访问网站时将主机设为 CONNECT。
编辑
我试图在下面使用 MrEye 的答案,虽然它似乎让我更进一步,但仍然有挂断。我遇到了证书问题,因此经过一些 Google 工作后,我通过添加以下代码找到了解决方法:
ServicePointManager.ServerCertificateValidationCallback +=
delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
};
现在我得到一个System.Net.WebException
值为“删除服务器返回错误:(401)未经授权。” 例外Status
是 ProtocolError,尽管我无法进一步了解。我确定提供的用户名/密码是有效的。