我要取一个网页上的数据可以用url加参数命令取,但是那个网站要用用户登陆后才出现数据页面,否则就转到登陆页面
手动用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




