HTTPWEBREQUEST 操作超时很费解

mcxiaoabc 2013-04-21 12:53:22
 我在模拟请求[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 应该怎么设置。呢
...全文
410 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
niuxia127 2015-11-03
  • 打赏
  • 举报
回复
请问解决了吗
mcxiaoabc 2013-04-22
  • 打赏
  • 举报
回复
顶顶,大神前来解决
mcxiaoabc 2013-04-21
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
“抓包”时到底看到返回了什么呢?
老大还在不
mcxiaoabc 2013-04-21
  • 打赏
  • 举报
回复
我用模拟软件提交的数据 请求头

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 就一直提示操作超时 我请求头什么也没设置
  • 打赏
  • 举报
回复
“抓包”时到底看到返回了什么呢?
mcxiaoabc 2013-04-21
  • 打赏
  • 举报
回复
dingding

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧