ObjCreate("WinHttp.WinHttpRequest.5.1") 获取网页源代码,如何设定cookie
ObjCreate("WinHttp.WinHttpRequest.5.1") 获取网页源代码,如何设定cookie为IE浏览器?网上抄的一段代码
$url = 'https://detail.1688.com'
$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Option(4) = 13056 ;忽略错误标志
$oHTTP.Option(6) = True ;是否接收重定向地址信息
$oHTTP.SetTimeouts(30000, 30000, 30000, 30000)
$oHTTP.Open('GET', $url, True)
$oHTTP.Send()
$oHTTP.WaitForResponse()
$Respond = BinaryToString($oHTTP.ResponseBody, 1)
用来下载网页源代码的,但是1688网站要求登录才能显示正确的网页,登录代码我不会写,如果能指定cookie为IE浏览器所用的cookie的话,我就可以用IE浏览器登录有再运行这段代码,有会的网友吗?
或者ObjCreate("WinHttp.WinHttpRequest.5.1")怎么用账号密码登录网站?用_IECreate我会写,但是ObjCreate("WinHttp.WinHttpRequest.5.1")我是第一次用,这个速度极快,适合我批量抓取网页。
本帖最后由 zch11230 于 2019-11-21 09:39 编辑
$oHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8')
$oHTTP.setRequestHeader('Cookie', 'JSID=123456789')
WinHttp.WinHttpRequest.5.1可以这样设置协议头cookie user-agent都是协议头。都这样设置就可以了。
看错问题了
如果是要AU3继承IE的cookie,可以用抓包工具,把cookie抓下来,然后上面的方法,设置成同样的cookie就可以了
如果是要ie继承au3的cookie,取出cookie后设置到系统,论坛有设置cookie的代码,我之前还用过的。
GetResponseHeader取cookie,wininet.dllInternetSetCookie设置ie的cookie
没法设置的,两个是完全不同的东西 轩辕小妖 发表于 2019-11-20 12:25
没法设置的,两个是完全不同的东西
好的,谢谢,那我用IE吧。 junziyeaicai 发表于 2019-11-20 15:10
好的,谢谢,那我用IE吧。
可以试试先用IE访问一次,然后读取cookies,然后再附加到WinHttp请求头中 zch11230 发表于 2019-11-21 09:28
$oHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8')
$oHTTP. ...
好的,我研究研究,目前我的知识储备还没法执行你说的方法,我先网上查下资料,成功后再过来回复你。
页:
[1]