2017-08-31 73 views
0

我有一個運行在aws雲上的彈性負載平衡器。我在端口443上附加了一個HTTPS偵聽器,並且它在證書管理器中使用證書。我想從https腳本發送https請求到彈性負載。我無法弄清楚我應該如何實施這個確切的API調用。如何在AWS請求庫中使用AWS證書?

回答

0

您可以使https請求到ELB的DNS。

要生成HTTPS請求,請使用以下引用自this answer的腳本。

import urllib.request 
r = urllib.request.urlopen('<DNS OF ELB>') 
print(r.read()) 

如果你真的想使用http.client,則必須調用endheaders 你發送的請求頭之後:

import http.client 
conn = http.client.HTTPSConnection('DNS OF ELB', 443) 
conn.putrequest('GET', '/') 
conn.endheaders() # <--- 
r = conn.getresponse() 
print(r.read()) 

的快捷方式putrequest/endheaders,你也可以使用request 方法如下:

import http.client 
conn = http.client.HTTPSConnection('DOMAIN', 443) 
conn.request('GET', '/') # <--- 
r = conn.getresponse() 
print(r.read()) 

更新1

對於Python 2.7,您可以如果您正在使用httplib使用httplib的或urllib2的

,HTTPS支持僅在socket模塊與SSL支持編譯。

對於urllib2請參考此article

+0

urllib.request似乎不適用於python2.7,我安裝了urllib,但無法導入urllib.requests,traceback表示模塊不存在。 –

+0

沒有提到的解決方案似乎工作。 –

+0

嗨Piyush我更新了答案 –