急啊,哪位大侠帮我看看,Microsoft.XMLHTTP取不了我要的网页

lliei 2006-01-04 10:02:17
<%
Function GetHTTPPage(url)
Response.Write url & "<p>"
Set Retrieval = CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "get", url, False
.Send
GetHTTPPage = .responseText
End With
Set Retrieval = Nothing
End Function


wstr=getHTTPPage("http://search.half.ebay.com/ws/web/HalfSearch?m=books&submit=Search&isbn=0619268158")
response.write wstr
%>


取其他网页还可以,就是这个不行。
帮一下。谢谢了
...全文
208 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Taciterry 2006-02-09
  • 打赏
  • 举报
回复
页面转向了,进入那个页面后,转入
http://product.half.ebay.com/_W0QQcpidZ1274834401QQprZ44181454
你抓这个页试试
李睿_Lee 2006-02-08
  • 打赏
  • 举报
回复
学习一下
laogou 2006-01-15
  • 打赏
  • 举报
回复
.open("POST",地址,是否异步)
这样可以先用xmlhttp登陆
服务器就有了session
下面再用 GetHTTPPage(url)
取要的网页
laogou 2006-01-15
  • 打赏
  • 举报
回复
学习中^_^
ASP小偷程序如何利用XMLHTTP实现表单的提交

利用XMLHTTP来制作小偷的具体细节落伍很多人都发过和讨论过了,但是在制作ASP小偷的过程中,很多人就发现ASP小偷不如PHP小偷的那么强

大了。确实,如果在原网站如果存在表单提交或cookies的验证,对于ASP来说,不使用基于SOCKET的组件就难以完成,其实,XMLHTTP的另外两

个方法被我们忽略了,而这正是问题的关键。
下面首先来说说这个方法
1。.send()
由于流行的小偷是使用的GET而不是POST来传送数据,所以很多人忽略了这个方法,而使用SEND发送数据也很简单,就是SEND("内容"),可是,

发送表单就不是这么简单,因为你发送的表单如果是中文的话,就要牵扯到编码的问题了。
首先,你在OPEN 时要确定是用POST 即 .open("POST",地址,是否异步)
然后,在SEND里面加上你表单的内容,比如说,你要提交的表单有3个表单域,分别是A,B,C,对应的值分别是1,2,3,那么,你在SEND里这

样写就可以提交表单了,.send("A=1&B=2&C=3"),怎么样,很简单吧,是不是没想到呢?但是别高兴的太早了,我前面说到了,如果表单的值是

中文的话,数据传输的就会出错了。这里我们借助一个函数escape(),熟悉JAVASCRIPT的朋友都应该知道这个函数的作用了,现在VBSCRIPT同样支持这个函数。.send("A=escape('值1')&B=escape('值2')&C=escape('值3')")
2。.setRequestHeader()
接着上面的所说,你的数据send出去了,对方却不会接收到,为什么了,其实,那是因为你的HTTP头少了一个东西,然后用这个函数把加上去就可以了,具体就是.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded"), 告诉对方你是提交了一个urlencode编码的表单。

好的,说完了表单的提交来说怎么传送cookies和session


其实传送cookies也很简单了,同样利用这个函数在HTTP头里添加东西,比如,我当前在落伍的cookies是
cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145
现在我要发送这个cookies就直接是.setRequestHeader("Cookie","cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145")
当然,有些网站页面有页面判断功能,这个也不难,就是.setRequestHeader("Referer","来路的绝对地址")
这里还有个重要问题,就是这个方法由于是写HTTP头的,所以不能更改现有的HTTP头,对于怎么用asp获取对方页面的cookies或session并且发出去.
lele1114 2006-01-15
  • 打赏
  • 举报
回复
欢迎武汉的ASP爱好者加入网站后台编程asp群:18659997
斑竹会经常拿出一些代码供大家学习讨论,并组织武汉的ASP爱好者见面讨论ASP技术问题.
tigerwen01 2006-01-05
  • 打赏
  • 举报
回复
其他网页可以取,说明http://search.half.ebay.com/ws/web/HalfSearch?m=books&submit=Search&isbn=0619268158网页使用某些技术不让别人使用XMLHTTP来获取其内容。
到网上查找有没有关于这方面的资料。
lliei 2006-01-05
  • 打赏
  • 举报
回复
to tigerwen01 and dongua:
两位高手给我新提示。感谢

to dongua:
您知道怎么加上cookies嘛? 谢谢
dongua 2006-01-05
  • 打赏
  • 举报
回复
是通过COOKIES判断的?用正常的IE写了COOKIES后就能访问?
猜测而已。
lliei 2006-01-05
  • 打赏
  • 举报
回复
谢谢答复。

找不到阿

4,008

社区成员

发帖
与我相关
我的任务
社区描述
它是一种微软环境下的轻量级的解释型语言,它使用COM组件、WMI、WSH、ADSI访问系统中的元素,对系统进行管理。
社区管理员
  • vbScript社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧