吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3835|回复: 3
收起左侧

[求助] WinHttp.WinHttpRequest.5.1采集https网页提示"证书作者无效或不正确"

  [复制链接]
onebee 发表于 2019-8-31 15:09
[Visual Basic] 纯文本查看 复制代码
 url="https://www.zgzjzj.com/" '此网站很特别,必须添加证书才能采集
 set Http=server.createobject("WinHttp.WinHttpRequest.5.1")
 Http.SetClientCertificate ("LOCAL_MACHINE/AddressBook/*.zgzjzj.com") '此句无论怎么修改都起不了作用
 Http.Option(6)=0
 'Http.Option(4) = 13056 '如果加了此条“忽略错误”,虽能采集,但得到的网页却是“405 Not Allowed”
  Http.open "GET",url,false 
  Http.setRequestHeader "cookie",cookie1
  Http.setRequestHeader "Referer",url
  Http.send

以上这段代码是用asp网页语言(vbscript)实现,javascript等其它编程语言只要采集此网页也会碰到一样的问题。
碰到了一个网页,使用server.createobject("WinHttp.WinHttpRequest.5.1")或者Server.CreateObject("MSXML2.ServerXMLHTTP.5.0")之类的组件都无法获取网站源文件,均提示:
WinHttp.WinHttpRequest 错误 '80072f0d'
证书作者无效或不正确

若加上Http.Option(4) = 13056这句(忽略错误,照常提交),虽然能提交内容,但返回的却是“405 Not Allowed”,显然是因为没有发送证书,导致无法通过验证。

应该怎么修改才能正确采集到此网站的源文件呢?烦请高手测试后给出修改办法!谢谢!

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

凯咪 发表于 2019-8-31 15:45
python爬取https的话,可以用模拟浏览器访问的方式,比如selenium库+Chrome/PhantomJS去爬取数据(selenium库主要用来解决JS渲染的问题)
不用python的话 可以用fiddler,option里边勾选https 即可
testpassword 发表于 2019-8-31 16:11
忽略证书验证就可以了,我测试用 winhttp api 可以正常访问。
 楼主| onebee 发表于 2019-8-31 21:06
testpassword 发表于 2019-8-31 16:11
忽略证书验证就可以了,我测试用 winhttp api 可以正常访问。

忽略证书验证返回的是“405 Not Allowed”,显然不发送证书,无法通过验证。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 17:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表