CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

我要取一个网页上的数据可以用url加参数命令取,但是那个网站要用用户登陆后才出现数据页面,否则就转到登陆页面,怎么才能模仿IE用socket发

楼主wx1234567_1(wx1234567_0)2006-03-02 16:46:41 在 VC/MFC / 网络编程 提问

手动用IE登陆后,再在IE上用URL修改参数参数后,也可以得到数据页面.  
  但是用webclient等控件不行,仍旧是登陆页面的string  
  我用socket直接往改网站的80端口发送http消息(模仿IE发的数据包),但也收不到,Recv时报错  
   
                  Dim   strReq   As   String   =   GetOverViewReqString("d:\test.log")'截获IE里发送的数据包  
                  Dim   strRemoteAddress   As   String   =   'Host   address  
   
                  Dim   m_ClientSocket   As   Socket  
   
                  Dim   hostentry   As   IPHostEntry  
                  hostentry   =   Dns.Resolve(strRemoteAddress)  
                  Dim   strRetPage   As   String  
                  Dim   bOK   As   Boolean   =   True  
                  For   Each   address   As   IPAddress   In   hostentry.AddressList  
                          m_ClientSocket   =   New   Socket(AddressFamily.InterNetwork,   SocketType.Stream,   ProtocolType.Tcp)  
                          Dim   ipe   As   IPEndPoint   =   New   IPEndPoint(address,   80)  
                          m_ClientSocket.Connect(ipe)  
                          If   Not   m_ClientSocket.Connected   Then  
                                  bOK   =   False  
                          Else  
                                  bOK   =   True  
                          End   If  
                          If   bOK   Then   Exit   For  
                  Next   address  
                  If   bOK   Then  
                          m_ClientSocket.Send(Encoding.ASCII.GetBytes(strReq),   strReq.Length,   0)  
   
                          Dim   RecvBytes   As   Byte()  
                          ReDim   RecvBytes(256)  
                          strRetPage   =   ""  
                          Dim   bytes   As   Int32   =   m_ClientSocket.Receive(RecvBytes,   RecvBytes.Length,   0)'报错,但是用www.sina.com.cn就行,收的到数据,但它不需要注册用户登陆  
   
                          strRetPage   =   strRetPage   +   Encoding.ASCII.GetString(RecvBytes,   0,   bytes)  
                          While   bytes   >   0  
   
                                  bytes   =   m_ClientSocket.Receive(RecvBytes,   RecvBytes.Length,   0)  
   
                                  strRetPage   =   strRetPage   +   Encoding.ASCII.GetString(RecvBytes,   0,   bytes)  
   
                          End   While  
                  End   If  
   
                  Return   strRetPage  
  问题点数:20、回复次数:1Top

1 楼akirya(坏[其实偶不是什么所谓的坏人])回复于 2006-03-02 17:00:03 得分 0

可能用cookie或者隐藏表但之类的东西。Top

相关问题

  • url传递参数
  • 请问如何用VC打开一个IE,知道url;其中url为.jsp结尾的,并且要给此url传递参数,参数如:姓名
  • IE组件的参数
  • 中文url参数问题
  • url传参数问题
  • url参数为空判断?
  • url中传参数问题
  • URL方式传递参数时如何隐藏参数?
  • socket带传递参数的怎么编?
  • 关于socket的参数问题

关键词

  • 页面
  • 数据
  • ie
  • socket
  • 登陆
  • bok
  • strreq
  • 参数
  • clientsocket
  • hostentry

得分解答快速导航

  • 帖主:wx1234567_1

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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