2017-08-31 72 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我更新了答案 –