Javascript 如何忽略带有html请求的无效SSL证书?

Javascript 如何忽略带有html请求的无效SSL证书?,javascript,python,ssl,web-scraping,python-requests,Javascript,Python,Ssl,Web Scraping,Python Requests,因此,基本上,我试图从网站上删除javascript生成的数据。为此,我使用Python库 这是我的密码: from requests_html import HTMLSession session = HTMLSession() url = 'https://myurl' headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko

因此,基本上,我试图从网站上删除javascript生成的数据。为此,我使用Python库

这是我的密码:

from requests_html import HTMLSession
session = HTMLSession()

url = 'https://myurl'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
payload = {'mylog': 'root', 'mypass': 'root'}

r = session.post(url, headers=headers, verify=False, data=payload)
r.html.render()
load = r.html.find('#load_span', first=True)

print (load.text)  
如果我不使用render()函数,我可以连接到网站,我的刮取数据为空(这是正常的),但当我使用它时,我有以下错误:

pyppeteer.errors.PageError: net::ERR_CERT_COMMON_NAME_INVALID at https://myurl

我假设session.post的参数“verify=False”被渲染忽略。我该怎么做

编辑:如果要再现错误:

from requests_html import HTMLSession
import requests

session = HTMLSession()

url = 'https://wrong.host.badssl.com'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}

r = session.post(url, headers=headers, verify=False)

r.html.render()

load = r.html.find('#content', first=True)

print (load)

唯一的方法是在中设置
ignoreHTTPSErrors
参数。问题是,requests_html没有提供任何方法来设置这个参数,事实上,有一个关于它的定义。我的建议是通过在这里添加另一条消息来再次ping开发人员

或者你可以使用这个新功能

另一种方法是使用硒

编辑:
我添加了
verify=False
作为一个拉取请求(已接受)的功能。现在可以忽略SSL错误:)

它不是Get()的参数:


您使用的是哪种版本的python和请求库?@Alessandro我使用的是python3.6和请求?您使用的是哪种操作系统?以与您相同的方式复制此错误是非常困难的。@Alessandro我在MacOS下,我认为任何没有经过验证的证书的站点都可以复制。@Alessandro我编辑了这篇文章以提供复制,我将尝试Selenium。我更新了关于html_请求GitHub的问题。谢谢你的建议。我也会关注这个问题,因为我对这个特性非常感兴趣。当你认为这个问题已经解决时,别忘了选择你最喜欢的答案。我成功了,但有点脏。进入文件“python3.x/site packages/pyppeteer/requests_html.py”,在第680行添加参数:
self.\u browser=self.loop.run_,直到完成(pyppeteer.launch(ignoreHTTPSErrors=True,headless=True,args=['--no sandbox]])
是的,这可能是请求的一部分。
from requests_html import HTMLSession
import requests

session = HTMLSession()

url = 'https://wrong.host.badssl.com'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}

r = session.post(url, headers=headers, verify=False)

r.html.render()

load = r.html.find('#content', first=True)

print (load)
session = HTMLSession(verify=False)