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

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

楼主wx1234567_1(wx1234567_0)2006-03-02 16:41:04 在 .NET技术 / VB.NET 提问

手动用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、回复次数:10Top

1 楼sanjie88(菜鸟依旧,谁动了我的毛片)回复于 2006-03-02 16:45:16 得分 0

不懂但是帮顶Top

2 楼Qqwwee_Com(http://qqwwee.com)回复于 2006-03-02 17:19:34 得分 20

你这里的cookie是不是过期了?  
   
   
  .net对http协议已经做了很好的封装。  
  你可以参考下面的软件,  
   
   
   
  ====CSDN   小助手   V2.5   ====  
  CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件  
  速度快;使用方便;提供源代码。  
  界面:http://blog.csdn.net/Qqwwee_Com/category/146601.aspx  
  下载:http://szlawbook.com/csdnv2  
   
  Top

3 楼wx1234567_1(wx1234567_0)回复于 2006-03-02 17:36:06 得分 0

楼上XMLconfig   是个什么?编译不通过.Top

4 楼wx1234567_1(wx1234567_0)回复于 2006-03-02 17:36:19 得分 0

缺这个东西XMLconfigTop

5 楼wx1234567_1(wx1234567_0)回复于 2006-03-02 17:53:38 得分 0

这东西从那里来的啊  
  PostDate   ="__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTI1MTcwMzM1MmQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgIFGkNTRE5Vc2VyTG9naW4kY2JfU2F2ZVN0YXRlBRlDU0ROVXNlckxvZ2luJEltYWdlX0xvZ2luF8EXuMgGE7FkMnRjryIYOoX2Cfo%3D&CSDNUserLogin%24tb_UserName="   +     tb_UserName       +   "&CSDNUserLogin%24tb_Password="   +     tb_Password   +   "&CSDNUserLogin%24tb_ExPwd="   +     tb_ExPwd     +   "&CSDNUserLogin%24cb_SaveState=on&from=http%3A%2F%2Fpassport.csdn.net%2Fpassport.aspx&__EVENTVALIDATION=%2FwEWBgKo4e%2FTBQL0kdS3CwLKgfDCCQKNvdi0CAKcg5G6BALJ3%2FKoAkhlgSR%2BXjWxi0ewN6PLmtdW3cEW&CSDNUserLogin%24Image_Login.x=49&CSDNUserLogin%24Image_Login.y=8";  
   
  Top

6 楼Qqwwee_Com(http://qqwwee.com)回复于 2006-03-02 18:39:01 得分 0

XMLconfig在bin下  
  你重新引用既可。  
  上面的东西是抓的数据包  
   
  Top

7 楼wx1234567_1(wx1234567_0)回复于 2006-03-03 14:04:39 得分 0

只抓到这三种包,没有类似你上边的东西,只找到了放用户名的地方,没有密码的地方.  
   
  CONNECT   secure.reuters.com:443   HTTP/1.0  
   
  User-Agent:   Mozilla/4.0   (compatible;   MSIE   6.0;   Windows   NT   5.1;   SV1;   .NET   CLR   1.1.4322)  
   
  Host:   secure.reuters.com  
   
  Content-Length:   0  
   
  Proxy-Connection:   Keep-Alive  
   
  Pragma:   no-cache  
   
  Top

8 楼wx1234567_1(wx1234567_0)回复于 2006-03-03 14:05:15 得分 0

只抓到这三种包,没有类似你上边的东西,只找到了放用户名的地方,没有密码的地方.  
   
  CONNECT   secure.reuters.com:443   HTTP/1.0  
   
  User-Agent:   Mozilla/4.0   (compatible;   MSIE   6.0;   Windows   NT   5.1;   SV1;   .NET   CLR   1.1.4322)  
   
  Host:   secure.reuters.com  
   
  Content-Length:   0  
   
  Proxy-Connection:   Keep-Alive  
   
  Pragma:   no-cache  
   
  Top

9 楼wx1234567_1(wx1234567_0)回复于 2006-03-03 14:05:33 得分 0

GET   http://ad.doubleclick.net/adj/reuters.com.dart/home;type=125;sz=125x125;ord=3568?   HTTP/1.0  
   
  Accept:   */*  
   
  Accept-Language:   zh-cn  
   
  Cookie:   id=800000727b157b6  
   
  User-Agent:   Mozilla/4.0   (compatible;   MSIE   6.0;   Windows   NT   5.1;   SV1;   .NET   CLR   1.1.4322)  
   
  Host:   ad.doubleclick.net  
   
  Proxy-Connection:   Keep-AliveTop

10 楼sanjie88(菜鸟依旧,谁动了我的毛片)回复于 2006-03-05 20:09:38 得分 0

dingTop

相关问题

  • 命令行参数?
  • 命令行参数
  • 怎样获取链接页面的url以及参数字串?
  • URL重写后,在URL上传的参数怎么办呢?页面上还需要接受参数呢?
  • 命令行参数处理!
  • 命令行参数有"*"号
  • 命令行参数问题
  • 命令行参数问题
  • 命令行参数问题
  • ++WebRequest获取asp页面,url带中文参数时,导致asp页面出错.编码问题如何解决??

关键词

  • .net
  • 页面
  • 数据
  • 用户
  • csdn
  • mozilla
  • nt
  • ie
  • csdnuserlogin%24
  • 登陆

得分解答快速导航

  • 帖主:wx1234567_1
  • Qqwwee_Com

相关链接

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

广告也精彩

反馈

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