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