我正在搜索如何在C#console app中将用户名和密码发送到基于表单的授权。登录就像这里: http://www.zoneedit.com/auth/
我找到了这个: http://www.daniweb.com/forums/thread188864.html但它不适用于JS弹出窗口。是否有任何选项以编程方式登录html页面并使用基于表单的授权?
答案 0 :(得分:4)
您正在查看的页面实际上不是“基于表单的授权”,也不是Javascript弹出窗口。它实际上是由您的Web浏览器生成的authenticated HTTP request窗口。如果您愿意,可以使用Fiddler之类的工具检查此问题,以检查向zoneedit.com/auth
发送请求时生成的HTTP标头。
基本上你需要做的是:(在4guys文章中翻译自VB)
var req = new WebClient();
var URL = "www.zoneedit.com/auth";
var Username = "username_goes_here";
var Password = "pasword_goes_here";
var credentialCache = new CredentialCache();
credentialCache.Add(new Uri(URL), "Basic", new NetworkCredential(Username, Password));
req.Credentials = credentialCache;
var results = System.Encoding.UTF8.GetString(req.DownloadData(URL));