Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-如何使用代理发出请求?_Python_Django - Fatal编程技术网

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的请求提供服务

谢谢,我想这正是我想要的。谢谢,我想这正是我想要的。