2014-09-30 41 views
0

我試圖通過傳遞所需的證書來訪問Secured json URL來獲取數據。 =====================================我試圖通過Python代碼命中https URL(json url),s。但面對AttributeError

class HTTPSClientAuthHandler(urllib2.HTTPSHandler): def init(self,key,cert): urllib2.HTTPSHandler。 INIT(個體) self.key =鍵 self.cert =證書

def https_open(self, req): 
    return self.do_open(self.getConnection, req) 

def getConnection(self, host, timeout=300): 
    return httplib.HTTPSConnection(host, key_file=self.key, cert_file=self.cert) 

開罐器= urllib2.build_opener(HTTPSClientAuthHandler( '認證/ xyz_key_no_phrase.pem', '樹/ xyz_cert.pem'))

============================================================ 

但運行在服務器上的腳本(UNIX)的Python 2.6.2]而我對着「AttributeError的」如下。

============================================================ 
Traceback (most recent call last): 
    File "./PRODandUAT_URL_https.py", line 12, in <module> 
    class HTTPSClientAuthHandler(urllib2.HTTPSHandler): 
AttributeError: 'module' object has no attribute 'HTTPSHandler 
=============================================================== 

當我在本地機器上運行腳本(Python 2.7)時,它運行得非常好。 這是python版本或其他問題的問題。 請幫幫我。

在此先感謝,

Kshitij Dasture。

+0

,你可以請在文件中發佈前12行代碼?這將有助於診斷問題。 – icedtrees 2014-09-30 09:06:20

回答

0

看來,爲Python 2.6,你需要單獨安裝ssl模塊(https://pypi.python.org/pypi/ssl),嘗試:

  1. pip install ssl(如果你有安裝pip
  2. 重新運行代碼