【问题标题】:Requests - Multiple proxies python请求 - 多个代理 python
【发布时间】:2016-04-06 09:16:21
【问题描述】:

我想使用多个 http 代理。根据文档,我找不到传递多个代理的方法。

这是我的代码:-

proxies = {
    'http': [List of IPs]
}
r = requests.get('http://10.1.7.70:8000', proxies=proxies)

运行此代码时,我收到以下错误:-

TypeError: unhashable type: 'list'

如何使用多个代理?

【问题讨论】:

  • proxies 参数必须是一个字典,其中包含键中的协议和值中的代理地址。你需要多个代理做什么?
  • @SergeyGornostaev 我有一个类似的用例。一个是我的大学代理,我必须将其用于任何连接,另一个是我已配置并希望通过它路由我的请求的自定义代理。如何在这种情况下测试 2 个代理?

标签: python python-requests http-proxy


【解决方案1】:

如果您的目标是从列表中选择一个代理来处理请求:

import random
import requests

proxies_list = [List of IPs]

proxies = {
    'http': random.choice(proxies_list)
}
r = requests.get('http://10.1.7.70:8000', proxies=proxies)

如果你想链代理,请求做不到,你需要手动做。

【讨论】:

    【解决方案2】:

    代理不是列表,它们确实是字典:

    proxy = {key1:value, key2:value2,....}
    

    您需要按每个键进行迭代:

    for i in proxy:
       r = requests.get('http://10.1.7.70:8000', proxies=proxy[i])
    

    【讨论】:

      猜你喜欢
      • 2016-12-24
      • 2014-10-11
      • 1970-01-01
      • 2018-01-08
      • 1970-01-01
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多