C# 以编程方式登录到网站
如何以编程方式登录网站 我只想检查提供的用户名和密码是否正确的网站C# 以编程方式登录到网站,c#,.net,asp.net,httprequest,C#,.net,Asp.net,Httprequest,如何以编程方式登录网站 我只想检查提供的用户名和密码是否正确的网站 谢谢。从.NET执行此操作最简单的方法是。您可以执行以下操作: using (var browser = new IE("http://mysite.com")) { browser.TextField(Find.ByName("email")).TypeText("my@email.com"); browser.TextField(Find.ByName("password")).TypeText("passwor
谢谢。从.NET执行此操作最简单的方法是。您可以执行以下操作:
using (var browser = new IE("http://mysite.com"))
{
browser.TextField(Find.ByName("email")).TypeText("my@email.com");
browser.TextField(Find.ByName("password")).TypeText("password");
browser.Button(Find.ByName("login")).Click();
if (browser.ContainsText("Welcome my@email.com!"))
{
// Success
}
}
要使用HttpWebRequest执行此操作,您需要:
var req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentLength = postContent.Length;
req.ContentType = "application/x-www-form-urlencoded";
using (var streamWriter = new StreamWriter(req.GetRequestStream()))
{
streamWriter.Write(postContent);
}
using (var res = (HttpWebResponse)req.GetResponse())
{
_status = res.StatusCode;
using (var streamReader = new StreamReader(res.GetResponseStream()))
{
response = streamReader.ReadToEnd();
}
}
只需添加第三种方式,您还可以使用WebClient:
var nvc = new NameValueCollection();
nvc.Add("email", "my@email.com");
nvc.Add("password", "password");
var wc = new WebClient();
byte[] responseArray = wc.UploadValues("http://mysite.com",nvc);
string responseText = Encoding.ASCII.GetString(responseArray));
从.NET执行此操作的最简单方法是。您可以执行以下操作:
using (var browser = new IE("http://mysite.com"))
{
browser.TextField(Find.ByName("email")).TypeText("my@email.com");
browser.TextField(Find.ByName("password")).TypeText("password");
browser.Button(Find.ByName("login")).Click();
if (browser.ContainsText("Welcome my@email.com!"))
{
// Success
}
}
要使用HttpWebRequest执行此操作,您需要:
var req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentLength = postContent.Length;
req.ContentType = "application/x-www-form-urlencoded";
using (var streamWriter = new StreamWriter(req.GetRequestStream()))
{
streamWriter.Write(postContent);
}
using (var res = (HttpWebResponse)req.GetResponse())
{
_status = res.StatusCode;
using (var streamReader = new StreamReader(res.GetResponseStream()))
{
response = streamReader.ReadToEnd();
}
}
只需添加第三种方式,您还可以使用WebClient:
var nvc = new NameValueCollection();
nvc.Add("email", "my@email.com");
nvc.Add("password", "password");
var wc = new WebClient();
byte[] responseArray = wc.UploadValues("http://mysite.com",nvc);
string responseText = Encoding.ASCII.GetString(responseArray));
编辑以稍微清除音调。@Robert,谢谢-更干净。编辑以稍微清除音调。@Robert,谢谢-更干净。使用错误的凭据执行该代码太多次,用户肯定会被锁定在其帐户之外。但我怎么知道该用户已成功登录代码?可以通过HTTP请求来完成吗?我认为这对像我这样的初学者来说是很好的期待!!!使用Watin,您可以检查browser.ContainsTextWelcomemy@email.com! 或者类似的东西。您完全可以使用HttpWebRequest完成这项工作,但代码要困难得多。我会编辑我的答案并添加上面的代码。我不会为你这么做的-我不想被指控入侵他们的网站。但我可以告诉你这三个都很好。如果我是你,我会用你的登录信息删除评论。谢谢你的帮助!!!我已经按照你的建议删除了我的最后一个请求。。。基本上我只是想摆脱这种状况:我已经在这上面浪费了太多时间,但都是徒劳的。。。。无论如何,再次感谢Consultutah使用错误的凭据多次执行该代码,用户肯定会被锁定在其帐户之外。但是我怎么知道该用户已成功登录代码?可以通过HTTP请求来完成吗?我认为这对像我这样的初学者来说是很好的期待!!!使用Watin,您可以检查browser.ContainsTextWelcomemy@email.com! 或者类似的东西。您完全可以使用HttpWebRequest完成这项工作,但代码要困难得多。我会编辑我的答案并添加上面的代码。我不会为你这么做的-我不想被指控入侵他们的网站。但我可以告诉你这三个都很好。如果我是你,我会用你的登录信息删除评论。谢谢你的帮助!!!我已经按照你的建议删除了我的最后一个请求。。。基本上我只是想摆脱这种状况:我已经在这上面浪费了太多时间,但都是徒劳的。。。。无论如何,再次谢谢你,图塔顾问