zoukankan
html css js c++ java
C#实现通过HttpWebRequest发送POST请求实现网站自动登陆
怎样通过HttpWebRequest 发送 POST 请求到一个网页服务器?例如编写个程序实现自动用户登录,自动提交表单数据到网站等。
假如某个页面有个如下的表单(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#写提交程序:
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();
Response.Write(content);
查看全文
相关阅读:
小米面试之股票收益最大
第三周:同时管理64位和32位版本的Python,并用Pyinstaller打包成exe
第三周 anaconda的安装
第二周:python实现线性回归(哑变量回归)的高效方法
第一周:在python里调用C文件中函数
13G:神奇的数列
13F:图像分割
13E:吃奶酪
13D:拖延症
13B:回文子串
原文地址:https://www.cnblogs.com/wubiyu/p/812673.html
最新文章
Sublime Text 3 编译Swift3.0
PostgreSQL相关整理
Notepad++替换SQL Server Select窗口列名的中括号的小技巧
C# 默认访问权限
C#对象比较的总结
Asp.Net路由重写为用户名或者ID
NFX UNISTACK 介绍
WPF [调用线程无法访问此对象,因为另一个线程拥有该对象。] 解决方案
Orchard学习资料,适合入门上手
如何使用在三星840 SSD硬件加密下使用Bitlocker
热门文章
sql删除数据库重复字段的行
QT学习篇: 入门(二)
QT学习篇:入门(1)
面试算法整理(三)
面试算法整理(二)
面试算法整理(1)
冒泡排序、插入排序、选择排序
linux一些常用指令整理
面试题算法分析(2)
面试题算法分析(1)
Copyright © 2011-2022 走看看