如何将AWS证书与python请求库一起使用?

时间:2017-08-31 06:28:21

标签: python amazon-web-services ssl python-requests

我在aws云上运行弹性负载均衡器。我在端口443上附加了一个HTTPS侦听器,它在证书管理器中使用了证书。我想从python脚本发送https请求到弹性负载。我无法弄清楚我应该为实现这个而做出的确切api调用。

1 个答案:

答案 0 :(得分: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或urllib2

如果您使用的是httplib,则只有在socket模块使用SSL支持进行编译时才支持HTTPS。

对于urllib2,请参阅此article