簡體   English   中英

Grab無法在服務器中連接強制SSLv3

[英]Grab fails to connect forced SSLv3 in the server

我正在嘗試使用抓住(版本0.4.8)連接' https://myvodafone.vodafone.in/myvodafoneselfcare/jsp/commons/login.jsp '。 我遇到以下錯誤。

ERROR:in_vodafone:17162:375: (<class 'grab.error.GrabNetworkError'>, GrabNetworkError(35, 'error:140773E8:SSL routines:SSL23_GET_SERVER_HELLO:reason(1000)'), <traceback object at 0x10277cb00>)
DEBUG:in_vodafone:17162:Traceback (most recent call last):
  File "in_vodafone.py", line 308, in download
    g.go('http://www.vodafone.in/pages/myvodafone.aspx')
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/grab-0.4.7-py2.7.egg/grab/base.py", line 306, in go
    return self.request(url=url, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/grab-0.4.7-py2.7.egg/grab/base.py", line 384, in request
    self.transport.request()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/grab-0.4.7-py2.7.egg/grab/transport/curl.py", line 345, in request
    raise error.GrabNetworkError(ex[0], ex[1])
GrabNetworkError: [Errno 35] error:140773E8:SSL routines:SSL23_GET_SERVER_HELLO:reason(1000)

我的腳本包含以下代碼:

from grab import Grab
g = Grab()
g.setup(hammer_mode = True, hammer_timeouts = ((100, 200), (300, 400), (500, 600)))
g.go('https://myvodafone.vodafone.in/myvodafoneselfcare/jsp/commons/login.jsp')

我發現http://bugs.python.org/issue11220中有解決urllib的方法。 如何通過抓取實用程序使用此解決方案?

我發現以下解決方案,它工作正常。

from grab import Grab
import pycurl

g = Grab()
g.transport.curl.setopt(pycurl.SSLVERSION, 3)
g.setup(hammer_mode = True, hammer_timeouts = ((100, 200), (300, 400), (500, 600)))
g.go('https://myvodafone.vodafone.in/myvodafoneselfcare/jsp/commons/login.jsp')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM