C#以编程方式请求基于表单的授权

时间:2010-08-21 09:16:21

标签: c#

我正在搜索如何在C#console app中将用户名和密码发送到基于表单的授权。登录就像这里: http://www.zoneedit.com/auth/

我找到了这个: http://www.daniweb.com/forums/thread188864.html

但它不适用于JS弹出窗口。是否有任何选项以编程方式登录html页面并使用基于表单的授权?

1 个答案:

答案 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));