Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以编程方式登录到网站_C#_.net_Asp.net_Httprequest - Fatal编程技术网

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完成这项工作,但代码要困难得多。我会编辑我的答案并添加上面的代码。我不会为你这么做的-我不想被指控入侵他们的网站。但我可以告诉你这三个都很好。如果我是你,我会用你的登录信息删除评论。谢谢你的帮助!!!我已经按照你的建议删除了我的最后一个请求。。。基本上我只是想摆脱这种状况:我已经在这上面浪费了太多时间,但都是徒劳的。。。。无论如何,再次谢谢你,图塔顾问