HttpWebRequest 怎么实现用HttpWebRequest登录淘宝 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 模拟POST提交啊,你都知道用HttpWebRequest了 还不会吗?只是要注意保持COOKIE状态等 假如某个页面有个如下的表单(Form):view plaincopy to clipboardprint?<form name="form1" action="http:www.breakn.com/login.asp" method="post"> <input type="text" name="userid" value=""> <input type="password" name="password" value=""> </form> <form name="form1" action="http:www.breakn.com/login.asp" method="post"><input type="text" name="userid" value=""><input type="password" name="password" value=""></form>从表单可看到表单有两个表单域,一个是userid另一个是password,所以以POST形式提交的数据应该包含有这两项。其中POST的数据格式为:表单域名称1=值1&表单域名称2=值2&表单域名称3=值3……要注意的是“值”必须是经过HTMLEncode的,即不能包含“<>=&”这些符号。本例子要提交的数据应该是:userid=value1&password=value2用C#写提交程序:view plaincopy to clipboardprint?string strId = "guest"; string strPassword= "123456"; ASCIIEncoding encoding=new ASCIIEncoding(); string postData="userid="+strId; postData += ("&password="+strPassword); byte[] data = encoding.GetBytes(postData); // Prepare web request... HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http:www.here.com/login.asp"); myRequest.Method = "POST"; myRequest.ContentType="application/x-www-form-urlencoded"; myRequest.ContentLength = data.Length; Stream newStream=myRequest.GetRequestStream(); // Send the data. newStream.Write(data,0,data.Length); newStream.Close(); // Get response HttpWebResponse myResponse=(HttpWebResponse)myRequest.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(),Encoding.Default); string content = reader.ReadToEnd(); Console.WriteLine(content); 看你的结贴率……我记得淘宝的那个登录时需要下载一个ActiveX控件的吧。具体那个东西是用来做什么的就不太清楚了。是不是就是为了防止某些不正常的登录情况呢? 文章摘要该怎么截取字符串 关于下载的问题大家来看看 用户代码未处理 System.Data.SqlClient.SqlException 无解了 怎么破??~~ 【【晕,csdn是不是受到arp攻击了?我一打开asp.net社区,nod32就疯狂报警】】 一本《ASP.NET 揭秘第二版》 关于数据库跟新问题 文件的后缀名 关于codesmith在64位机上运行的问题 如何取得今天是本年中的第几周? 一个奇怪的问题? 请问ASPNET中membership的默认SHA1算法是怎样的? DataList常见问题
假如某个页面有个如下的表单(Form):view plaincopy to clipboardprint?
<form name="form1" action="http:www.breakn.com/login.asp" method="post">
<input type="text" name="userid" value="">
<input type="password" name="password" value="">
</form> <form name="form1" action="http:www.breakn.com/login.asp" method="post">
<input type="text" name="userid" value="">
<input type="password" name="password" value="">
</form>从表单可看到表单有两个表单域,一个是userid另一个是password,所以以POST形式提交的数据应该包含有这两项。
其中POST的数据格式为:
表单域名称1=值1&表单域名称2=值2&表单域名称3=值3……
要注意的是“值”必须是经过HTMLEncode的,即不能包含“<>=&”这些符号。本例子要提交的数据应该是:
userid=value1&password=value2用C#写提交程序:view plaincopy to clipboardprint?
string strId = "guest";
string strPassword= "123456"; ASCIIEncoding encoding=new ASCIIEncoding();
string postData="userid="+strId;
postData += ("&password="+strPassword); byte[] data = encoding.GetBytes(postData); // Prepare web request...
HttpWebRequest myRequest =
(HttpWebRequest)WebRequest.Create("http:www.here.com/login.asp"); myRequest.Method = "POST";
myRequest.ContentType="application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream=myRequest.GetRequestStream(); // Send the data.
newStream.Write(data,0,data.Length);
newStream.Close(); // Get response
HttpWebResponse myResponse=(HttpWebResponse)myRequest.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(),Encoding.Default);
string content = reader.ReadToEnd();
Console.WriteLine(content);
我记得淘宝的那个登录时需要下载一个ActiveX控件的吧。具体那个东西是用来做什么的就不太清楚了。是不是就是为了防止某些不正常的登录情况呢?