利用WebRequest来实现模拟浏览器通过Post方式向服务器提交数据
来源:互联网 发布:python 稀疏矩阵 编辑:程序博客网 时间:2024/06/07 16:47
//通过Post发送的数据
string payload="chkbook=book&keyword=管理";
WebRequest req = WebRequest.Create("http://localhost/pceo/Search.aspx");
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
StringBuilder UrlEncoded = new StringBuilder();
Char[] reserved = {'?', '=', '&'};
byte[] SomeBytes = null;
if (payload != null)
{
int i=0, j;
while(i<payload.Length)
{
j=payload.IndexOfAny(reserved, i);
if (j==-1)
{
UrlEncoded.Append(HttpUtility.UrlEncode(payload.Substring(i, payload.Length-i),System.Text .Encoding .GetEncoding ("gb2312")));
break;
}
UrlEncoded.Append(HttpUtility.UrlEncode(payload.Substring(i, j-i),System.Text .Encoding .GetEncoding ("gb2312")));
UrlEncoded.Append(payload.Substring(j,1));
i = j+1;
}
SomeBytes = Encoding.Default.GetBytes(UrlEncoded.ToString());
req.ContentLength = SomeBytes.Length;
Stream newStream = req.GetRequestStream();
newStream.Write(SomeBytes, 0, SomeBytes.Length);
newStream.Close();
}
else
{
req.ContentLength = 0;
}
try
{
WebResponse result = req.GetResponse();
Stream ReceiveStream = result.GetResponseStream();
Byte[] read = new Byte[512];
int bytes = ReceiveStream.Read(read, 0, 512);
txtHTML.InnerHtml = "";
while (bytes > 0)
{
// 注意:
// 下面假定响应使用 UTF-8 作为编码方式。
// 如果内容以 ANSI 代码页形式(例如,932)发送,则使用类似下面的语句:
// Encoding encode = System.Text.Encoding.GetEncoding("shift-jis");
Encoding encode = System.Text.Encoding.GetEncoding("gb2312");
txtHTML.InnerHtml = txtHTML.InnerHtml + encode.GetString(read, 0, bytes);
bytes = ReceiveStream.Read(read, 0, 512);
}
}
catch(Exception)
{
txtHTML.InnerHtml = "检索页时出错";
}
- 利用WebRequest来实现模拟浏览器通过Post方式向服务器提交数据
- 利用WebRequest来实现模拟浏览器通过Post方式向服务器提交数据
- post方式模拟表单向服务器提交数据
- 利用WebRequest向服务器提交Form
- Android 实现Post向服务器提交数据
- URLConnection 模拟浏览器向服务器提交数据,服务器返回数据
- 使用javascript以post的方式向服务器提交数据
- 使用libcurl以Post方式向HTTP服务器提交数据
- Android向服务器提交数据(方式:get、post、AsyncHttpClient )
- 使用libcurl以Post方式向HTTP服务器提交数据
- 模拟向服务器POST数据
- android 通过get,post方式提交数据给服务器
- c# POST和GET方式通过服务器地址提交数据
- 程序使用 HTTP 协议和服务器交互主要是进行数据的提交,通常数据的提交是通过 GET 和 POST 两种方式来完成
- Android--Post向服务器提交数据
- Android网络数据之向服务器提交数据的三种方式(get+post+AsyncHttpClient)
- php模拟post方式提交数据
- HttpClient使用post方式模拟表单提交数据到服务器并下载服务器文件
- JAVA四种基本排序的总结
- 正则表达式之替换标签
- C# 3.0新特性初步研究 Part2:使用扩展方法_C#教程
- java面试笔试题大汇总
- 使用.Net自带的类发邮件
- 利用WebRequest来实现模拟浏览器通过Post方式向服务器提交数据
- 《程序员》“工具”栏目欢迎您的参与!
- C# 3.0新特性初步研究 Part3:使用拉姆达表达式_C#教程
- C# 3.0新特性初步研究 Part4:使用集合类型初始化器_C#教程
- AutoPostBack 属性及Page.IsPostBack 属性
- 完成端口编程模型介绍
- 总结AJAX相关JS代码片段和浏览器模型
- JS 文本框中只允许输入数字
- _stdcall与_cdecl的区别