grequests忽略ssl错误

问题描述 投票:2回答:1

我想传递一个arg来忽略大量GET的SSL错误。在请求包中,您可以传递verfiy = false参数。对于grequest,我看不到任何类似信息。如果有更好的包装或方向,我会开放。


urls = [
    'https://www.heroku.com',
    'https://tablib.org',
    'https://httpbin.org',
    'https://python-requests.org',
    'https://kennethreitz.com'
]

rs = (grequests.get(u) for u in urls)

grequests.map(rs)
python python-requests
1个回答
1
投票
#to raise exception
def exception_handler(request, exception):
    return f"Request failed: {exception}"

# to fully skip error/warning
#def exception_handler(request, exception):
#    pass or do something

urls = [
    'https://www.heroku.com',
    'https://tablib.org',
    'https://httpbin.org',
    'https://python-requests.org',
    'https://kennethreitz.com'
]

rs = (grequests.get(u) for u in urls)

grequests.map(rs, exception_handler=exception_handler)

#also you can do a trick with requests library (ignore certificates issue):
>>> def exception_handler(request, exception):
...     return dir(request)
...
>>> rs = (grequests.get(u) for u in url)
>>> grequests.map(rs, exception_handler=exception_handler)
[['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', 
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', 
'__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', 
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', 
'__str__', '__subclasshook__', '__weakref__', 'exception', 'kwargs', 
'method', 'response', 'send', 'session', 'traceback', 'url'], 
<Response[200]>]
# we can take request.url and put it in requests.get(request.url, 
# verify=False)
© www.soinside.com 2019 - 2024. All rights reserved.