requests请求中代理ip中的proxies

proxies的格式是一个字典:{‘http’: ‘http://42.84.226.65:8888‘}

有http与https两种,在爬取不同网站时我们需要选用不同类型的网站时选用不同的proxise,在不知道网站类型时可以将两种类型均放进去,requests会自动选择合适的

proxies = {
  "http": "http://10.10.1.10:3128",
  "https": "http://10.10.1.10:1080"
}

如果你是这样的

proxies = {
  "https": "http://10.10.1.10:1080"
}

而你要爬的是http型网站
你的requests也可以成功,但是使用的还是你真实的ip地址

只有当你的proxies类型与你想访问的网站类型相同,代理ip才会起作用
可以用以下代码检验你的代理ip是否成功启用

import requests

proxies = {
    "https": "http://10.10.1.10:1080"
}
req = requests.get('http://icanhazip.com/', proxies=proxies)
print(req.content)

访问 http://icanhazip.com/(https://icanhazip.com/) 可以得到你访问时的ip地址

判断代理是否有效的方法

import telnetlib

try:
    telnetlib.Telnet('10.10.1.10', port='1080', timeout=3)
except:
    print('ip无效!')
elseprint('ip有效!')

来自:https://blog.csdn.net/qq_38251616/article/details/81675871?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task



posted @ 2020-03-12 23:41  cknds  阅读(6068)  评论(0编辑  收藏  举报