CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
(图)邪恶的韩国UMPC 使用 Java 编写数据库应用新规范
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

散分.高手请进

楼主linyangsen2()2006-12-01 13:34:28 在 .NET技术 / C# 提问

我用c#做了个socket访问http服务器,但返回HTTP/1.1   400   Bad   RequestContent-Type:   text/htmlDate:   Thu,   30   Nov   2006   15:16:33   GMTConnection:   closeCon,已经困了我一个月了,哪位高手帮我解决我所有的分都给他  
   
  我的代码是  
      string   hostName="www.eshuba.com";  
  IPHostEntry   ipInfo=Dns.GetHostByName("www.eshuba.com");    
  IPAddress[]   ipAddr=ipInfo.AddressList;    
  IPAddress   ip=ipAddr[0];    
  int   port=Int32.Parse("80");    
   
  IPEndPoint   hostEP=new   IPEndPoint(ip,port);    
  Socket   socket=new   Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);    
  try    
  {    
  socket.Connect(hostEP);    
  if   (socket.Connected)Response.Write("ddddddddd");  
  }    
   
  catch(Exception   se)    
  {    
          Response.Write("adfsafsdfds");  
  }    
   
    string   sendStr="GET   /down.asp?id=6794&no=1   HTTP/1.1\r\n    
  Accept:   */*\r\n  
    Accept-Language:   zh-cn\r\n    
  UA-CPU:   x86\r\n  
    User-Agent:   Mozilla/4.0   (compatible;   MSIE   6.0;   Windows   NT   5.2;   SV1;   Maxthon;   .NET   CLR   1.1.4322;   .NET   CLR   2.0.50727)\r\n    
  Host:   www.eshuba.com\r\n  
  Connection:   Keep-Alive\r\n\r\n   ";  
  ///此外内容我是根据httplook得到.应该不会错.  
  byte[]   bytesSendStr=new   byte[1024];    
  bytesSendStr=Encoding.ASCII.GetBytes(sendStr);    
   
  bytesSendStr=Encoding.ASCII.GetBytes(sendStr);  
  try    
  {    
  //向主机发送请求    
  socket.Send(bytesSendStr,bytesSendStr.Length,0);    
  }    
  catch(Exception   ce)    
  {    
   
  }    
   
  string   recvStr="";    
   
  byte[]   recvBytes=new   byte[1024];    
  int   bytes=0;    
  while(true)    
  {    
  bytes=socket.Receive(recvBytes,recvBytes.Length,0);    
  if(bytes<=0)    
  break;    
  recvStr+=Encoding.ASCII.GetString(recvBytes,0,bytes);    
   
  recvStr+=Encoding.ASCII.GetString(recvBytes,0,bytes);  
  }    
  tb_class.Text=recvStr;  
   
  ////我最后得到的是tb_class.text   =   HTTP/1.1   400   Bad   RequestContent-Type:   text/htmlDate:   Thu,   30   Nov   2006   15:16:33   GMTConnection:   closeContent-Length:   39<h1>Bad   Request   (Invalid   Hostname)</h1>  
  哪位大哥指点一下到底错在哪里,万分感激.  
  问题点数:100、回复次数:15Top

1 楼hbxtlhx(平民百姓-自已动手,丰衣足食)回复于 2006-12-01 13:36:13 得分 0

先接分再看题,呵呵Top

2 楼linyangsen2()回复于 2006-12-01 13:52:51 得分 0

放心,分不够都可以再加,只要能解次,老大  
  Top

3 楼linyangsen2()回复于 2006-12-01 14:06:10 得分 0

没人理,真可怜Top

4 楼linyangsen2()回复于 2006-12-01 14:08:26 得分 0

我把GET   /down.asp?id=6794&no=1   HTTP/1.1\r\n   改为HTTP/1.0居然可以接收到东西,虽然不是正确的返回信息,我真是奇怪了,改为1.0服务器返回  
  HTTP/1.1   404   Not   FoundContent-Length:   1308Content-Type:   text/htmlServer:   Microsoft-IIS/6.0Date:   Fri,   01   Dec   2006   06:03:02   GMTConnection:   close<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01//EN"   "http://www.w3.org/TR/html4/strict.dtd"><HTML><HEAD><TITLE>无法找到该页</TITLE><META   HTTP-EQUIV="Content-Type"   Content="text/html;   charset=GB2312"><STYLE   type="text/css">     BODY   {   font:   9pt/12pt   宋体   }     H1   {   font:   12pt/15pt   宋体   }     H2   {   font:   9pt/12pt   宋体   }     A:link   {   color:   red   }     A:visited   {   color:   maroon   }</STYLE></HEAD><BODY><TABLE   width=500   border=0   cellspacing=10><TR><TD><h1>无法找到该页</h1>您正在搜索的页面可能已经删除、更名或暂时不可用。<hr><p>请尝试以下操作:</p><ul><li>确保浏览器的地址栏中显示的网站地址的拼写和格式正确无误。</li><li>如果通过单击链接而到达了该网页,请与网站管理员联系,通知他们该链接的格式不正确。</li><li>单击<a   href="javascript:history.back(1)">后退</a>按钮尝试另一个链接。</li></ul><h2>HTTP   错误   404   -   文件或目录未找到。<br>Internet   信息服?(IIS)</h2><hr><p>技术信息(为技术支持人员提供)</p><ul><li>转到   <a   href="http://go.microsoft.com/fwlink/?linkid=8180">Microsoft   产品支持服务</a>并搜索包括&ldquo;HTTP&rdquo;和&ldquo;404&rdquo;的标题。</li><li>打开&ldquo;IIS   帮助&rdquo;(可在   IIS   管理器   (inetmgr)   中访问),然后搜索标题为&ldquo;网站设置&rdquo;、&ldquo;常规管理任务&rdquo;和&ldquo;关于自定义错误消息&rdquo;的主题。</li></ul></TD></TR><Top

5 楼jp800308(Net人生)回复于 2006-12-01 14:16:10 得分 0

帮顶吧,根本看不懂,我手还没你高呢Top

6 楼linyangsen2()回复于 2006-12-01 14:18:03 得分 0

唉,已经好几天在弄这个东西啦。学习是艰苦的。还是很感谢你,NET人生Top

7 楼fangxinggood(JustACoder)回复于 2006-12-01 14:22:48 得分 0

为什么不用   HttpRequest   ...Top

8 楼linyangsen2()回复于 2006-12-01 14:28:25 得分 0

我也用了HttpRequest,但我试了一下,HttpRequest好像只返回了最终的服务器信息,浏览器跳转前的内容取不到,不知JUSTACODER兄有什么办法。Top

9 楼hbxtlhx(平民百姓-自已动手,丰衣足食)回复于 2006-12-01 14:30:33 得分 0

楼主考虑下用Remoting?Top

10 楼linyangsen2()回复于 2006-12-01 14:30:42 得分 0

顺便说明,我刚转学NET三个月,以前我一直从事数据库开发。所以很多NET的东西还不懂。以前因为不想学习,用PB简单,现在要重新开始学习。Top

11 楼linyangsen2()回复于 2006-12-01 14:31:54 得分 0

HBXTLHX兄能否贴出一个方案,感激不尽。Top

12 楼free_wang()回复于 2006-12-01 18:57:49 得分 0

学习Top

13 楼hansyswin()回复于 2006-12-01 21:08:39 得分 0

dingTop

14 楼linyangsen2()回复于 2006-12-01 21:39:40 得分 0

还是没有兄弟来看过Top

15 楼Csharpbull(中忠)回复于 2006-12-01 21:46:51 得分 0

支持支持Top

相关问题

关键词

得分解答快速导航

  • 帖主:linyangsen2

相关链接

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

广告也精彩

反馈

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