作者namedkao (高山小屋? ?)
看板Python
标题[问题] 以IP开启https网页失败(凭证错误)
时间Mon Jul 11 19:43:09 2016
请教版上高手:
本人用selenium + phantomjs
以IP开启https网页失败,
(无法读取应有资讯,例如title)
以域名开启则没有问题。
如开启以下2个网址(其实是同1个网页):
https://74.125.203.94 (失败)
https://www.google.com.tw (成功)
推测应该是凭证错误的安全性问题,
尝试加入webdriver.PhantomJS参数如下:
service_args=
['--ignore-ssl-errors=true',
'--ssl-protocol=any',
'--proxy-type=none']
一样没用,
非必要的话,
暂不考虑使用Chrome或Firefox,
也希望不用额外解析域名,
不知版上各位高手有何建议,
谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.132.124.252
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1468237397.A.77A.html
※ 编辑: namedkao (220.132.124.252), 07/11/2016 19:45:20
1F:→ kenduest: 刚刚帮你用 curl 工具测试一下07/11 19:45
4F:→ kenduest: 无法正常打开是很正常的...07/11 19:46
不是很明白Ken大的意思,
完全是因为『重新导向』的问题吗?
但是用一般浏览器输入:
https://74.125.203.94
通常会显示:
此网站的安全性凭证有问题。
另外请教,
如果真是『重新导向』的问题,
有好方法可以截取导向成功後的页面吗?
※ 编辑: namedkao (220.132.124.252), 07/11/2016 20:04:05
※ 编辑: namedkao (220.132.124.252), 07/11/2016 20:04:55
5F:→ AndCycle: 你先回答一下你为什麽要用ip吧,这牵扯到 Virtual Host07/11 20:28
6F:推 kenduest: 要说是 Google 的问题也没错,你的程式码用法也没错07/11 20:52
7F:→ kenduest: 毕竟 Google 这个回应结果最後是无法连线上07/11 20:53
8F:→ kenduest: 回到你的程式码来说是的确可以忽略 ssl凭证检查07/11 20:54
9F:→ kenduest: 不过现在这年头许多网站都是至少走 http/1.1存取07/11 20:55
10F:→ kenduest: http/1.1内多个 Host: 可以指定存取的主机名称07/11 20:55
11F:→ kenduest: 你这样直接用 ip 连线在 Name-based 虚拟主机站台07/11 20:56
12F:→ kenduest: 无法让对方判断你到底是要连线存取哪个站台07/11 20:57
13F:→ kenduest: 这在目前许多使用cdn服务站台上更是如此07/11 20:58
14F:→ kenduest: 拉回来,你不应该直接使用 ip 进行连线存取web07/11 20:59
15F:推 kenduest: 少送Host这个栏位在Google服务群主机上来说,对方设定回07/11 21:03
16F:→ kenduest: 应内容就是如此07/11 21:03
17F:推 kenduest: 所以你还是要用 ip 方式连线存取吗?答案当然是不要这07/11 21:12
18F:→ kenduest: 样子做。另外 ssl 略过检查也不好,想清楚略过的目的。
感谢.大致了解了,
举google ip为例,
以及没考虑vhost,
只是为了描述并简化问题,
核心问题是想避免凭证错误,
并显示有意义的网页资讯,
但是本人使用的参数似乎没用,
才来提问,
感谢ken大耐心解答。
※ 编辑: namedkao (180.205.130.168), 07/11/2016 22:05:49
19F:推 cph911: ssl 凭证通常是签发给domain的,所以不是用签发的domain连07/12 17:10
20F:→ cph911: 线一定会凭证错误07/12 17:10
21F:→ uranusjr: 你的问题只有一个正解:无法避免, 你乱搞被拒绝也是刚好
是的,
这下子只能脚踏实地做人,
老老实实的查dn和vhost了,
再次感谢各位。
※ 编辑: namedkao (220.132.124.252), 07/12/2016 18:45:23
22F:→ kenduest: 凭证可以签给 ip 使用吗?答案是可以,只是很不寻常 07/15 15:56
23F:→ kenduest: 我想一开始楼主的问题是需要分开两个阶段来谈 07/15 15:56
24F:→ kenduest: 1. 避开检查是否凭证有效,--ignore-ssl-errors=true 07/15 15:57
25F:→ kenduest: 这个参数是正确的,所以这没有问题 07/15 15:57
26F:→ kenduest: 2. google 网站你用 https://ip 连线的确有回应 07/15 15:57
28F:→ kenduest: 变成去用标准 http 存取一个 port 443 ssl 加密的站台 07/15 15:58
29F:→ kenduest: 所以沟通错误导致有问题 07/15 15:59
30F:→ kenduest: 3. 若只是举例而已,那其实换其他站台就比较没这问题 07/15 15:59
31F:→ kenduest: 比方 yahoo 站台你这样测试就没有问题,最後可以开启 07/15 16:00
32F:→ kenduest: 只是你用 tw.yahoo.com 去查到 ip 然後用 https://ip 07/15 16:01
33F:→ kenduest: 去连线,最後会看到的是英文版的 yahoo 07/15 16:01
34F:→ kenduest: 毕竟他们有搞 CDN,而且有虚拟主机等设定所以最後是 07/15 16:02
35F:→ kenduest: 返回英文版网页当预设内容 07/15 16:02