我正在遵循以下指南:https://ultimatedjango.com/blog/how-to-consume-rest-apis-with-django-python-reques/
我想知道如何使用代理来提出这些请求?我认为这部分应该修改:
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个原料药键)
发布于 2015-10-03 08:06:58
您可以将一个“代理”论点传递给包含用于不同协议的代理服务器字典的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)发布于 2019-12-25 07:38:19
还可以通过设置环境变量HTTP_PROXY和HTTPS_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')参考文献:https://2.python-requests.org//en/latest/user/advanced/#proxies
如果在本地开发环境中使用该方法,则建议使用此方法,响应服务器只处理来自白色列表IP的请求。
https://stackoverflow.com/questions/32920197
复制相似问题