作者larry5490 (单翼天使)
看板Visual_Basic
标题[.NET] VB2005 如何读取网页并自动跳转下一页
时间Sun May 31 08:25:51 2009
在VB2005 中如何写一个执行档去读取网页上的资料
并在完成後自动跳转下一页呢?
一向对网路程式陌生的我,
在端午节突然被屈原叫去想写一个可以由网页上自动读取资料的程式,
在东拼西凑後终於可以自动进入查询画面,但是小弟我试了又试,
用了好几种方法都没有办法达到我要的自动转下一页,
希望各位先进可以指导一下小弟是那里做错了.告知一下方向
还是可以提供程式码告诉小弟怎麽做
小弟没有什麽QP请各位先进还多多包含
下面是我用Sniffe所产生的网页资料
进入查询画面後回传第一页Http Request Header资料
GET /abbs/wkw/WHD2A03.jsp?hsimun=all&ctmd=all&sec=all&saledate1=&saledate2=&crmyy=&crmid=&crmno=&dpt=&minprice1=&minprice2=&area1=&area2=®isteno=&rrange=%A4%A3%A4%C0&owner1=&order=odcrm&court=TPD&proptype=C52&saletype=5&query_type=db HTTP/1.1
Host: XXX.XXX.XXX.XXX
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-tw,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Big5,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:
http://XXX.XXX.XXX.XXX/abbs/wkw/WHD2A02.jsp?proptype=C52&saletype=5&court=TPD
Cookie: JSESSIONID=0000fsQ34jzJUUNbFd-RMp32NdL:-1
进入查询画面後回传第二页Http Request Header资料
GET /abbs/wkw/WHD2A03.jsp?sql_conction=from+W.c50+a%2CW.C52+b+where+a.crtid%3D%27TPD%27+AND+a.crtid%3Db.crtid+AND+a.crmyy%3Db.crmyy+AND+a.crmid%3Db.crmid+AND+a.crmno%3Db.crmno+AND+a.ordno%3Db.ordno+AND+trim%28a.cancel%29+is+null++AND+a.upflag%3D%27F%27++AND+a.saledate%3E%3D%270980301%27++AND+a.saledate%3C%3D%270980531%27+&pageTotal=17&pageSize=15&rowStart=1&saletype=5&proptype=C52&court=TPD&order=odcrm&query_type=session&pageNow=2 HTTP/1.1
Host: XXX.XXX.XXX.XXX
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-tw,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Big5,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:
http://XXX.XXX.XXX.XXX/abbs/wkw/WHD2A03.jsp?hsimun=all&ctmd=all&sec=all&saledate1=&saledate2=&crmyy=&crmid=&crmno=&dpt=&minprice1=&minprice2=&area1=&area2=®isteno=&rrange=%A4%A3%A4%C0&owner1=&order=odcrm&court=TPD&proptype=C52&saletype=5&query_type=db
Cookie: JSESSIONID=0000fsQ34jzJUUNbFd-RMp32NdL:-1
进入查询画面後回传第三页Http Request Header资料
GET /abbs/wkw/WHD2A03.jsp?sql_conction=from+W.c50+a%2CW.C52+b+where+a.crtid%3D%27TPD%27+AND+a.crtid%3Db.crtid+AND+a.crmyy%3Db.crmyy+AND+a.crmid%3Db.crmid+AND+a.crmno%3Db.crmno+AND+a.ordno%3Db.ordno+AND+trim%28a.cancel%29+is+null++AND+a.upflag%3D%27F%27++AND+a.saledate%3E%3D%270980301%27++AND+a.saledate%3C%3D%270980531%27+&pageTotal=17&pageSize=15&rowStart=16&saletype=5&proptype=C52&court=TPD&order=odcrm&query_type=session&pageNow=3 HTTP/1.1
Host:XXX.XXX.XXX.XXX
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-tw,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Big5,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:
http://XXX.XXX.XXX.XXX/abbs/wkw/WHD2A03.jsp?sql_conction=from+W.c50+a%2CW.C52+b+where+a.crtid%3D%27TPD%27+AND+a.crtid%3Db.crtid+AND+a.crmyy%3Db.crmyy+AND+a.crmid%3Db.crmid+AND+a.crmno%3Db.crmno+AND+a.ordno%3Db.ordno+AND+trim%28a.cancel%29+is+null++AND+a.upflag%3D%27F%27++AND+a.saledate%3E%3D%270980301%27++AND+a.saledate%3C%3D%270980531%27+&pageTotal=17&pageSize=15&rowStart=1&saletype=5&proptype=C52&court=TPD&order=odcrm&query_type=session&pageNow=2
Cookie: JSESSIONID=0000fsQ34jzJUUNbFd-RMp32NdL:-1
................到最後一页
我目前所用的方法为
1 Dim encoding As New System.Text.ASCIIEncoding
2 url = New Uri("
http://XXX.XXX.XXX.XXX/alx.asp")
3 Dim getdata As String = "/abbs/wkw/WHD2A03.jsp?sql_conction=from+W.c50+a%2CW.C52+b+where+a.crtid%3D%27KSD%27+AND+a.crtid%3Db.crtid+AND+a.crmyy%3Db.crmyy+AND+a.crmid%3Db.crmid+AND+a.crmno%3Db.crmno+AND+a.ordno%3Db.ordno+AND+trim%28a.cancel%29+is+null++AND+a.upflag%3D%27F%27++AND+a.saledate%3E%3D%270980227%27++AND+a.saledate%3C%3D%270980529%27+&pageTotal=154&pageSize=15&rowStart=1&saletype=5&proptype=C52&court=KSD&order=odcrm&query_type=session&pageNow=2"
4 Dim myRequest As HttpWebRequest
5 Dim data As Byte() = encoding.GetBytes(getdata)
6 Dim myRequest As HttpWebRequest = HttpWebRequest.Create(url)
7 myRequest.Method = "GET"
8 myRequest.ContentLength = data.Length
9 Dim newStream As IO.Stream
10 newStream = myRequest.GetRequestStream()
11 '我的程式只要执行到上面这一行就跳掉了
12 newStream.Write(data, 0, data.Length)
13 newStream.Close()
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.47.4.150