【发布时间】:2017-08-31 06:28:20
【问题描述】:
我有一个在 aws 云上运行的弹性负载均衡器。我在端口 443 上附加了一个 HTTPS 侦听器,它在证书管理器中使用证书。我想将来自 python 脚本的 https 请求发送到弹性负载。我无法弄清楚我应该进行的确切 api 调用来实现这一点。
【问题讨论】:
标签: python amazon-web-services ssl python-requests
我有一个在 aws 云上运行的弹性负载均衡器。我在端口 443 上附加了一个 HTTPS 侦听器,它在证书管理器中使用证书。我想将来自 python 脚本的 https 请求发送到弹性负载。我无法弄清楚我应该进行的确切 api 调用来实现这一点。
【问题讨论】:
标签: python amazon-web-services ssl python-requests
您可以向 ELB 的 DNS 发起 https 获取请求。
要生成 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,HTTPS 仅在 socket 模块编译时支持 SSL 时才支持。
对于 urllib2,请参阅 article。
【讨论】: