- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
好吧,我正在尝试为我的旅馆 wifi 创建一个自动登录脚本,我需要登录到 wifi 才能获得网络访问权限。如果我连接到 wifi,该网页在本地网络上保持打开状态。我只需要访问该网页并在那里登录即可。所以我试图使用机械化登录。
这是 python 代码。
我现在只是想打印发件人。
import mechanize
br = mechanize.Browser()
br.set_handle_robots(False)
br.open("https://192.168.10.3/connect/PortalMain")
for f in br.forms():
print f
我得到的错误是
Traceback (most recent call last):
File "demo.py", line 4, in <module>
br.open("https://192.168.10.3/connect/PortalMain")
File "/usr/local/lib/python2.7/site-packages/mechanize/_mechanize.py", line 254, in open
return self._mech_open(url_or_request, data, timeout=timeout)
File "/usr/local/lib/python2.7/site-packages/mechanize/_mechanize.py", line 284, in _mech_open
response = UserAgentBase.open(self, request, data)
File "/usr/local/lib/python2.7/site-packages/mechanize/_opener.py", line 195, in open
response = urlopen(self, req, data)
File "/usr/local/lib/python2.7/site-packages/mechanize/_urllib2_fork.py", line 352, in _open
'_open', req)
File "/usr/local/lib/python2.7/site-packages/mechanize/_urllib2_fork.py", line 340, in _call_chain
result = func(*args)
File "/usr/local/lib/python2.7/site-packages/mechanize/_urllib2_fork.py", line 1215, in https_open
return self.do_open(conn_factory, req)
File "/usr/local/lib/python2.7/site-packages/mechanize/_urllib2_fork.py", line 1160, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)>
最佳答案
该站点可能使用了自签名的SSL证书,您可以关闭SSL验证(尽管您应该首先了解安全风险),在br.open()之前添加这段代码:
import ssl
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context
来源:Disable ssl certificate validation in mechanize
所以在你的情况下,代码最终会是:
import mechanize
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
br = mechanize.Browser()
br.set_handle_robots(False)
br.open("https://192.168.10.3/connect/PortalMain")
for f in br.forms():
print f
应该可以,但我还没有测试过。
关于python - 机械化 : SSL: CERTIFICATE_VERIFY_FAILED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50315334/
我正在尝试制作一个 perl 脚本来向我创建的应用程序发送获取请求。我的应用程序在不同的服务器上运行,所以为了让它看起来像一个域,我将 ip 添加到我的/etc/hosts 文件中。我的主机文件如下所
我正在尝试使用机械化从 metacriti* 网站抓取一些数据,但我没有得到任何输出 这是我的带有 url 示例的代码: my $metaURL = "http://www.metacriti*.co
我正在尝试使用 mechanize 登录网站。下面是提交时的 javascript 操作。我可以破译它在做什么并通过机械化来实现吗?人们一直建议我可以找出 javascript 的作用并尝试复制它,但
好吧,我正在尝试为我的旅馆 wifi 创建一个自动登录脚本,我需要登录到 wifi 才能获得网络访问权限。如果我连接到 wifi,该网页在本地网络上保持打开状态。我只需要访问该网页并在那里登录即可。所
我试着写了下面的代码,我正在尝试写一个Python 3.7中的代码只是打开一个网络浏览器,网站在 Command Line 中提供给它: 示例.py import sys from mechanize
我正在尝试使用程序 fbruteforcer.py。我编译了它,它似乎有效但根本无效。 以下作品: ./wpbruteforcer.py -t www.pillolhacking.net -u adm
我是一名优秀的程序员,十分优秀!