CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

有请高手! 使用C#模拟发送HTTP数据的问题

楼主qinjs(皮皮C天下)2006-07-04 18:28:50 在 .NET技术 / C# 提问

我想发送出去的时候格式是这样:  
  GET   /index.aspx   HTTP/1.1  
  Accept:   */*  
  Accept-Encoding:   gzip,   deflate  
  User-Agent:   Mozilla/4.0   (compatible;   MSIE   6.0;   Windows   NT   5.1;   SV1;   Maxthon;   .NET   CLR    
  1.1.4322)  
  Host:   www.csdn.net  
  Connection:   Keep-Alive  
  Cookie:   V=1;   Login=false;   UserName=admin  
   
  但实际结果是这样:  
  GET   /index.aspx   HTTP/1.1  
  Accept:   */*  
  Accept-Encoding:   gzip,   deflate  
  User-Agent:   Mozilla/4.0   (compatible;   MSIE   6.0;   Windows   NT   5.1;   SV1;   Maxthon;   .NET   CLR    
  1.1.4322)  
  Connection:   Keep-Alive  
  Cookie:   V=1;   Login=false;   UserName=admin  
  Host:   www.csdn.net  
   
  也就是Host:   www.csdn.net的位置总是排在了最后,  
  ***请问:我怎么才能使它排在Connection:   Keep-Alive之前?  
  (我是用抓包工具来查看发送出去的数据格式)  
   
  我用的代码如下:  
  private   string   RequestGet(string   TheURL,   string   TheProxy,string   strEncoding)  
  {  
  Uri   uri   =   new   Uri(TheURL);  
  HttpWebRequest   request   =   (HttpWebRequest)   WebRequest.Create(uri);  
  string   page;  
  try  
  {  
  request.ProtocolVersion=HttpVersion.Version11;  
  request.Method   =   "GET";  
  //request.ContentType   =   "application/x-www-form-urlencoded";  
  request.Proxy   =   System.Net.WebProxy.GetDefaultProxy();  
   
  //allow   auto   redirects   from   redirect   headers  
  request.AllowAutoRedirect=true;  
   
  //maximum   of   10   auto   redirects  
  request.MaximumAutomaticRedirections=10;  
   
  //30   second   timeout   for   request  
  request.Timeout=(int)   new   TimeSpan(0,0,60).TotalMilliseconds;  
   
  request.Accept="*/*";  
  request.Headers.Add("Accept-Encoding",   "gzip,   deflate");  
  request.UserAgent   =   "Mozilla/4.0   (compatible;   MSIE   6.0;   Windows   NT   5.1;   SV1;   Maxthon;   .NET   CLR   1.1.4322)";    
   
  //request.KeepAlive   =   false;  
  request.KeepAlive   =   true;  
  //request.Headers.Add("Cookie",   "AlexaVersion=7.0;   AV_ccLoad=false;   twym65_disabled=false");  
   
  HttpWebResponse   response   =   (HttpWebResponse)   request.GetResponse();  
  Stream   responseStream   =   response.GetResponseStream();  
  //StreamReader   readStream   =   new   StreamReader   (responseStream,   System.Text.Encoding.Default);  
  StreamReader   readStream   =   new   StreamReader   (responseStream,   System.Text.Encoding.GetEncoding(strEncoding));  
   
  page   =   readStream.ReadToEnd();  
   
  //   显示Stream  
  sSource   =   page   +   "\r\n";  
  }  
  catch   (Exception   ee)    
  {  
  page   =   "Fail   message   :   "+ee.Message;  
  sSource   =   page   +   "\r\n";  
  }  
  return   page;  
   
  }  
  问题点数:20、回复次数:3Top

1 楼htia(中华天威)回复于 2006-07-06 18:28:27 得分 0

顺序前后没关系啊,Top

2 楼shrinerain(圣影雨)回复于 2006-07-06 20:29:05 得分 0

顺序并没有任何影响Top

3 楼www_123du_com(鼠·神·泪)回复于 2006-07-08 02:56:51 得分 20

理论上讲顺序应该是没有影响的。  
  参看一下http的协议吧。Top

相关问题

关键词

得分解答快速导航

  • 帖主:qinjs
  • www_123du_com

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo