注册
登录
代理IP知识 / 内容详情
python使用代理IP发送请求的一些笔记
站大爷 官方 2022-9-23 15:55:58

很多人都是在用python的request发送请求,毕竟python是当下比较流行的程序语言之一,以下是python使用代理IP发送请求的一些笔记,希望对新手朋友们有所帮助。

python使用代理IP发送请求的一些笔记

一、获取代理IP


很多初学者喜欢爬取网上的免费代理IP来使用,正规的项目中一般是采购高质量代理IP来使用的,通常是通过API接口来获取代理IP,以站大爷代理IP为例。


import requests
api_url = 'http://www.***.com/ShortProxy/GetIP/?api=实例ID&akey=akey&count=5&timespan=3&type=1'
#站大爷代理的API提取链接,开通产品后在后台可以生成
proxy_ip = requests.get(api_url).text
#请求API提取链接,获取http代理IP列表
proxy_list = proxy_ip.split('\r\n')
for proxy in proxy_list:
#遍历http代理IP列表
    num += 1
    proxies = {
        'http': 'http://'+proxy,
        'https': 'http://' + proxy
    }
    print(proxies)


二、使用代理IP

很多人proxies只写一个协议,在访问不同的网站时很容易报错,或者会使用本地上网IP向目标网站发送请求而不自知。


import requests
proxies = {
  "http": "http://168.168.168.168:88888",
  "https": "http://168.168.168.168:88888"
}
r = requests.get('https://www.zdaye.com/',proxies=proxies)


如果是访问http网站,则会采用http协议;如果是访问https网站,则会采用https协议。这里proxies两种协议都写了,发送请求时会根据访问的网站自动选择。


三、验证代理IP


很多人不确定代理IP是否生效,是使用代理IP发送的请求,还是本地上网IP发送的请求。我们可以访问一个查询IP的网站来进行验证。


url = "http://httpbin.org/ip"
proxies = {
      'http':'http://168.168.168.168:88888',
       'https':'http://168.168.168.168:88888'
}
headers = {
       'User-Agent':'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko)
        Version/5.1 Safari/534.50'
}
try:
    resp = requests.get(url,headers=headers,proxies=proxies,timeout=10)
    print(resp.text)
except Exception as e:
    print(f"请求失败,代理IP无效!{e}")


如果请求成功了,会打印出请求返回的内容,如果代理IP生效了,返回的内容中的IP是当前使用的代理IP;如果proxies只写了一个http或https协议,返回的内容中的IP是本地上网IP,说明没有通过代理IP请求网站。如果请求失败了,说明代理IP没有生效,会返回“请求失败,代理IP无效!”。


立即注册站大爷用户,免费试用全部产品
立即注册站大爷用户,免费试用全部产品