asp.net AJAX POST抓取
来源:互联网 发布:温故知今txt下载 编辑:程序博客网 时间:2024/05/18 01:22
前些天有个要求要从某个网站上取信息,但是该网站要求用post方式访问的.现在这里贴两个google到的方法.
using System.Net;
static string WebClinetPost(string url,string postData,string encodeType,out string err)
{
string uriString = url;
byte[] byteArray;
byte[] responseArray;
//postData = "checkvalue=32&bbb=%视频教程'>cd%B6%C6%B1&ilc=0&kkk=22";
Encoding encoding = Encoding.GetEncoding(encodeType);
try
{
WebClient myWebClient = new WebClient();
WebHeaderCollection myWebHeaderCollection;
myWebClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");
//myWebClient.Headers.Add("Referer","http://xxxxx/xxxxxxxxxxxxxxxxxxxxxxxx");
//myWebClient.Headers.Add("Accept-Language","zh-cn");
myWebHeaderCollection = myWebClient.Headers;
byteArray = encoding.GetBytes(postData);
responseArray =myWebClient.UploadData(uriString,"POST",byteArray);
err=string.Empty;
return encoding.GetString(responseArray);
}
catch(Exception ex)
{
err=ex.Message;
return string.Empty;
}
}
public static string HttpWebResponsePost(string url, stringpostData,string encodeType,out string err)
{
Stream outstream = null;
Stream instream = null;
StreamReader sr = null;
HttpWebResponse response = null;
HttpWebRequest request = null;
Encoding encoding = Encoding.GetEncoding(encodeType);
byte[] data = encoding.GetBytes(postData);
try
{
request = WebRequest.Create(url) as HttpWebRequest;
CookieContainer cookieContainer = new CookieContainer();
request.CookieContainer = cookieContainer;
request.AllowAutoRedirect = true;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
outstream = request.GetRequestStream();
outstream.Write(data,0,data.Length);
outstream.Close();
response = request.GetResponse() as HttpWebResponse;
instream = response.GetResponseStream();
sr = new StreamReader( instream, encoding );
string content = sr.ReadToEnd();
err = string.Empty;
return content;
}
catch(Exception ex)
{
err = ex.Message;
return string.Empty;
}
}
调用代码:
string url="http://xxxxxx/xxxxxxxx/scrrm00542.jsp";
string postData="proj_id=600197&theSubmit=600197";
string encodeType="utf-8";
string err="";
//string content=HttpWebResponsePost(url,postData,encodeType,out err);
string content=WebClinetPost(url,postData,encodeType,out err);
另外,再附上javascript实现的代码吧:
<script language=javascript>
function GetData()
{
varpostData = "proj_id=600197&theSubmit=600197";
varhttp = new GetXMLHTTPRequest();
http.open('POST', 'http://xxxxxxxxxx/xxxxxx/scrrm00542.jsp', false);
http.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
http.send(postData);
return http.responseText;
}
function GetXMLHTTPRequest()
{
varprogIDs = ["Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for(var i = 0; i < progIDs.length; ++i)
{
var progID = progIDs[i];
try
{
var x = new ActiveXObject(progID);
return x;
}
catch (e)
{}
}
}
</script>
- asp.net AJAX POST抓取
- asp.net ajax post方式
- asp.net 版本 Ajax post xml
- Asp.Net+JQuery.Ajax之$.post
- c# Post/Get提交调用抓取 asp.net
- Asp.Net+Jquery.Ajax详解3-$.get和$.post
- asp.net Ajax Post 请求 一般处理程序
- ASP.Net之JS之AJAX之Post请求
- asp.net 网页抓取
- asp.net 抓取
- Asp.net数据抓取
- Asp.net数据抓取
- ASP.Net抓取页面
- ASP.NET 抓取网页
- ASP.NET 网页抓取-----抓取超链接
- asp.net post ViewState
- Asp.net Post Sample
- asp.net post
- 【一句话知识点】为什么要!!condition,对一个变量两次取反
- 用C++重写了OPENCV SURF算法例子
- jQuery 教程 (十一) 实战表单验证与自动完成提示插件 .NET
- 让程序在崩溃时体面的退出之SEH
- django Form fields
- asp.net AJAX POST抓取
- Mac OS X Lion 10.7.2下面Finder搜索问题
- Busybox and benchmark configuration
- MX51 uboot启动流程分析 - stage2
- Action
- C#中Split用法
- Firefox上Web辅助开发插件
- Window下获取执行文件的目录的路径函数
- VB工程--百例84--播放视频AVI文件.