购买的固定代理IP一般都需要账号密码, 在网上找了几个使用方法,但是都报错,所以,就想了这个笨办法,如有好办法希望大家指点。

import requests
from requests.auth import HTTPBasicAuth

proxy = {
    'http': 'http://ip:port',
    'https': 'https://ip:port8'
}
head = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/50.0.2661.102 Safari/537.36',
    'Connection': 'keep-alive',
    'Proxy-Authorization': '...' # 在浏览器中获取此值
}
p = requests.get('http://icanhazip.com', headers=head)
print(p.content.decode('utf-8'))

 

 

# ########################## 下面是获取Proxy-Authorization的方法############################################

 首先,就是获取在headers 中的 Proxy-Authorization

 

用的是Chrome浏览器, 设置代理ip

 

Python 爬虫使用固定代理IP

 

Python 爬虫使用固定代理IP

 

 Python 爬虫使用固定代理IP

Python 爬虫使用固定代理IP

然后点击 确定 

打开一个新的网页, 随意登录一个网站

 

 

 Python 爬虫使用固定代理IP

 

 登录后, 访问 http://127.0.0.1

 

 

Python 爬虫使用固定代理IP

 

在scrapy的中间件中添加:

request.meta['proxy'] = "http://ip:port"

# 添加Proxy-Authorization对应得值,添加在请求的headers中
request.headers['Proxy-Authorization'] = 'Basic ...........'

 

 

这样就将固定ip设置为代理了~