Python Django-如何使用代理发出请求?
我遵循以下指南: 我想知道如何使用代理发出这些请求?我认为这部分应该修改:Python Django-如何使用代理发出请求?,python,django,Python,Django,我遵循以下指南: 我想知道如何使用代理发出这些请求?我认为这部分应该修改: def save_embed(request): if request.method == "POST": form = SubmitEmbed(request.POST) if form.is_valid(): url = form.cleaned_data['url'] r = requests.get('http://api.
def save_embed(request):
if request.method == "POST":
form = SubmitEmbed(request.POST)
if form.is_valid():
url = form.cleaned_data['url']
r = requests.get('http://api.embed.ly/1/oembed?key=' + settings.EMBEDLY_KEY + '&url=' + url)
有更简单的方法吗?我希望每次对相同的API密钥使用相同的代理。(2-3个api密钥)
干杯您可以将一个方法传递给request.get方法,该方法包含用于不同协议的代理服务器字典,因此您的代码将成为
def save_embed(request):
if request.method == "POST":
form = SubmitEmbed(request.POST)
if form.is_valid():
url = form.cleaned_data['url']
proxies = {
"http": "http://123.123.123.123:1234",
"https": "https://123.123.123.123:1234",
}
r = requests.get('http://api.embed.ly/1/oembed?key=' + settings.EMBEDLY_KEY + '&url=' + url, proxies=proxies)
您可以向request.get方法传递一个,该方法包含用于不同协议的代理服务器字典,因此您的代码将成为
def save_embed(request):
if request.method == "POST":
form = SubmitEmbed(request.POST)
if form.is_valid():
url = form.cleaned_data['url']
proxies = {
"http": "http://123.123.123.123:1234",
"https": "https://123.123.123.123:1234",
}
r = requests.get('http://api.embed.ly/1/oembed?key=' + settings.EMBEDLY_KEY + '&url=' + url, proxies=proxies)
您还可以通过设置环境变量HTTP\u PROXY和HTTPS\u PROXY来配置代理
$ export HTTP_PROXY="http://10.10.1.10:3128"
$ export HTTPS_PROXY="http://10.10.1.10:1080"
$ python
>>> import requests
>>> requests.get('http://example.org')
参考:
如果您在本地开发环境中使用此方法,则建议您使用此方法,其中响应服务器仅为来自白名单IP的请求提供服务 您还可以通过设置环境变量HTTP\u PROXY和HTTPS\u PROXY来配置代理
$ export HTTP_PROXY="http://10.10.1.10:3128"
$ export HTTPS_PROXY="http://10.10.1.10:1080"
$ python
>>> import requests
>>> requests.get('http://example.org')
参考:
如果您在本地开发环境中使用此方法,则建议您使用此方法,其中响应服务器仅为来自白名单IP的请求提供服务 谢谢,我想这正是我想要的。谢谢,我想这正是我想要的。