这里应该怎么修改# 设置代理IP和端口号 r = requests.get('http://172.16.1.202:5010/pop/') proxy = r.json()['proxy'] proxy_host = proxy.split(':',1)[0] proxy_port = proxy.split(':',1)[1] # 实例化Proxy类 proxies = Proxy({ 'proxyType': ProxyType.MANUAL, 'httpProxy': f"{proxy_host}:{proxy_port}", 'httpsProxy': f"{proxy_host}:{proxy_port}", })才可以不报错AttributeError: 'Proxy' object has no attribute 'get'
时间: 2024-01-11 22:05:25 浏览: 87
根据报错信息 `'Proxy' object has no attribute 'get'`,可能是因为你没有调用 `requests.Session()` 来创建一个会话,在会话中使用代理。你可以按照下面的步骤来修改代码:
1. 创建一个会话,并将代理传递给会话的 `proxies` 参数:
```python
session = requests.Session()
session.proxies = {
'http': f"http://{proxy_host}:{proxy_port}",
'https': f"https://{proxy_host}:{proxy_port}",
}
```
2. 在会话中使用代理发送请求:
```python
response = session.get(url)
```
完整的代码如下所示:
```python
import requests
# 获取代理
r = requests.get('http://172.16.1.202:5010/pop/')
proxy = r.json()['proxy']
proxy_host = proxy.split(':',1)[0]
proxy_port = proxy.split(':',1)[1]
# 创建会话,并设置代理
session = requests.Session()
session.proxies = {
'http': f"http://{proxy_host}:{proxy_port}",
'https': f"https://{proxy_host}:{proxy_port}",
}
# 在会话中使用代理发送请求
response = session.get(url)
```
注意:在使用代理时,需要确保代理服务器可以正常连接,并且代理的协议类型要与请求的协议类型相同(http/https)。
阅读全文