首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django -如何向代理提出请求?

Django -如何向代理提出请求?
EN

Stack Overflow用户
提问于 2015-10-03 07:46:00
回答 2查看 3K关注 0票数 1

我正在遵循以下指南:https://ultimatedjango.com/blog/how-to-consume-rest-apis-with-django-python-reques/

我想知道如何使用代理来提出这些请求?我认为这部分应该修改:

代码语言:javascript
复制
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个原料药键)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-03 08:06:58

您可以将一个“代理”论点传递给包含用于不同协议的代理服务器字典的request.get方法,这样您的代码就变成了。

代码语言:javascript
复制
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)
票数 0
EN

Stack Overflow用户

发布于 2019-12-25 07:38:19

还可以通过设置环境变量HTTP_PROXY和HTTPS_PROXY来配置代理。

代码语言:javascript
复制
$ 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的请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32920197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档