网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 手机学院 | 邮件系统 | 网络安全 | 认证考试
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.ASP.NET创建Web服务之设计方针.
.GridView中利用隐藏的TemplateFi.
.asp.net 2.0 主题中多CSS文件引用.
.求素数(质数)的算法.
.asp.net1.1和asp.net 2.0共存 .
.在.net中使用GDI+来提高gif图片的.
.自动处理过长字符串显示的Web控件.
.DATAGRID分页,增加首页、最后一.
.解决网爬工具爬取页面信息出现乱.
.请求网址并解析返回的html.
.asp.net中如何从视频文件中抓取一.
.用.NET读取Flash格式文件信息.
.开发ASP.NET Atlas服务器端Exten.
..NET编程规范.
.通过web.config设置数据库连接串.
.ASP.NET 2.0中的输出缓存.
.ASP.Net 2.0 发送邮件的代码.
.asp.net如何生成图片验证码(简单) .
.asp.NET特写.
.net中统一的存储过程调用方法.

通过HttpWebRequest 发送 POST 请求实现自动登陆

发表日期:2008-12-12

怎样通过HttpWebRequest 发送 POST 请求到一个网页服务器?例如编写个程序实现自动用户登录,自动提交表单数据到网站等。
假如某个页面有个如下的表单(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); 

上一篇:XP安装IIS及Framework后无法访问.net页面解决方案 人气:434
浏览全部HttpWebRequest的内容 Dreamweaver插件下载 网页广告代码 2009年新年快乐