我在模拟请求[POST]一个网站的时候,一直连接不上去,总是提示我”操作超时“
HttpWebRequest httpWebRequest = null;
HttpWebResponse httpWebResponse = null;
try
{
byte[] byteRequest = Encoding.Default.GetBytes(postData);//格式化POST数据 httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);//发送请求
// httpWebRequest.CookieContainer = cookieContainer;//填充COOKIE
//httpWebRequest.ContentType = "application/x-www-form-urlencoded";
//httpWebRequest.ServicePoint.ConnectionLimit = maxTry;
;
//httpWebRequest.Headers.Add("Accept-Language", "ko,zh-cn;q=0.5");
//httpWebRequest.Headers.Add("Accept-Encoding", "gzip, deflate"); // httpWebRequest.Referer = ""; //httpWebRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
//httpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0";
httpWebRequest.Method = isPost ? "POST" : "GET";//那种请求?
httpWebRequest.ContentLength = byteRequest.Length;//获取数据包大小 Stream stream = httpWebRequest.GetRequestStream();//获取流对象
stream.Write(byteRequest, 0, byteRequest.Length);
stream.Close(); httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
//定义数据响应信息
Stream responseStream = httpWebResponse.GetResponseStream();//获取服务端回发达留信息 StreamReader streamReader = new StreamReader(responseStream, encoding); string html = streamReader.ReadToEnd();
streamReader.Close();
responseStream.Close();
currentTry = 0; httpWebRequest.Abort();
httpWebResponse.Close(); return html;//获取
}
catch (System.Net.WebException e)
{ Stream stream = httpWebRequest.GetRequestStream();/这句就出问题了
代码片段。HEAD头没问题,我用第三方 POSET模拟软件(HTTPAnalyzerFullV自带)提交的时候HEDA头什么也不设置值提交返回正常(也就是说提交的时候只有一个POST地址。和一个HOST主机属性,)而我用HTTPWEBREQUEST却怎么也访问不了
我抓POST模拟器(HTTPAnalyzerFullV自带)返回的包的时候发现返回头信息有Expires -1 这个标识 难道跟这个有关系?如果有关系HTTPWEQUEREST 应该怎么设置。呢
HttpWebRequest httpWebRequest = null;
HttpWebResponse httpWebResponse = null;
try
{
byte[] byteRequest = Encoding.Default.GetBytes(postData);//格式化POST数据 httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);//发送请求
// httpWebRequest.CookieContainer = cookieContainer;//填充COOKIE
//httpWebRequest.ContentType = "application/x-www-form-urlencoded";
//httpWebRequest.ServicePoint.ConnectionLimit = maxTry;
;
//httpWebRequest.Headers.Add("Accept-Language", "ko,zh-cn;q=0.5");
//httpWebRequest.Headers.Add("Accept-Encoding", "gzip, deflate"); // httpWebRequest.Referer = ""; //httpWebRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
//httpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0";
httpWebRequest.Method = isPost ? "POST" : "GET";//那种请求?
httpWebRequest.ContentLength = byteRequest.Length;//获取数据包大小 Stream stream = httpWebRequest.GetRequestStream();//获取流对象
stream.Write(byteRequest, 0, byteRequest.Length);
stream.Close(); httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
//定义数据响应信息
Stream responseStream = httpWebResponse.GetResponseStream();//获取服务端回发达留信息 StreamReader streamReader = new StreamReader(responseStream, encoding); string html = streamReader.ReadToEnd();
streamReader.Close();
responseStream.Close();
currentTry = 0; httpWebRequest.Abort();
httpWebResponse.Close(); return html;//获取
}
catch (System.Net.WebException e)
{ Stream stream = httpWebRequest.GetRequestStream();/这句就出问题了
代码片段。HEAD头没问题,我用第三方 POSET模拟软件(HTTPAnalyzerFullV自带)提交的时候HEDA头什么也不设置值提交返回正常(也就是说提交的时候只有一个POST地址。和一个HOST主机属性,)而我用HTTPWEBREQUEST却怎么也访问不了
我抓POST模拟器(HTTPAnalyzerFullV自带)返回的包的时候发现返回头信息有Expires -1 这个标识 难道跟这个有关系?如果有关系HTTPWEQUEREST 应该怎么设置。呢
解决方案 »
- wpf获取本程序集内的style资源
- 字段初始值设定项无法引用非静态字段、方法或属性“_.Form1.GetAllBrowsers()”这是为什么呢
- 在asp.net(c#)中怎么用代码删除文件?
- (急求!)在C#下,如何获得当前登录的用户(不是程序进程)属于哪个用户组?
- 如何计算一个字符串包含特定子串的数量
- 只有10分了,可是这个问题很棘手,没有办法,只好出来请大家帮忙
- 在C#的Form编程中,请教一个DataGrid的问题!!!!!在线等,比较急,谢谢!!!!
- DataGrid的问题
- 麻烦各位转换一下这个API!100分相送!:)
- 在winxp上安装.NET遇到的奇怪问题!
- calendar 控件如何实现鼠标滑过时 弹出一个div。
- window service 中调用外部exe
请求头POST /signin HTTP/1.1
Host:sign.XXX.net
Content-Length:296下面是返回的数据
HTTP/1.1 200 OK
Cache-Control: no-store,private
Pragma: no-cache
Content-Length: 12761
Content-Type: text/html
Expires: Sun, 21 Apr 2013 12:40:42 GMT
Server: Microsoft-IIS/7.0
Set-Cookie: NSCHK=f; domain=xxx.net; path=/
Set-Cookie: NSERR=; expires=Mon, 31-Dec-1979 15:00:00 GMT; domain=xxxx.net; path=/
P3P: CP='CAO PSA CONi OTR OUR DEM ONL'
X-UA-Compatible: IE=EmulateIE8
X-Powered-By: ASP.NET
Date: Sun, 21 Apr 2013 12:41:41 GMT我用别的软件模拟都能正常返回哈 ,HTTPWEBREQUEST 就一直提示操作超时 我请求头什么也没设置