如何以编程方式登录网站?
我只想检查提供的网站用户名和密码是否正确。
谢谢。
最佳答案
从 .NET 执行此操作的最简单方法是 Watin .你会做这样的事情:
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));
关于c# - 以编程方式登录网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3355752/