ARL
ARL copied to clipboard
代理使用异常
代理报错,填了代理地址 地址格式如下 http://xxxx.com/dadad
全部报错如下
[root@VM-16-11-centos docker]# docker-compose exec worker bash
[root@5cc6481259bb code]# python3.6 -m test.test_proxy_url
E
ERROR: test_proxy_url (main.TestProxyURL)
Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 597, in urlopen self._prepare_proxy(conn) File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 807, in _prepare_proxy conn.connect() File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 324, in connect self._tunnel() File "/usr/lib64/python3.6/http/client.py", line 929, in _tunnel message.strip())) OSError: Tunnel connection failed: 404 NOT FOUND
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 449, in send timeout=timeout File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 641, in urlopen _stacktrace=sys.exc_info()[2]) File "/usr/local/lib/python3.6/site-packages/urllib3/util/retry.py", line 399, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.baidu.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 404 NOT FOUND',)))
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/code/test/test_proxy_url.py", line 12, in test_proxy_url conn = http_req(target) File "/code/app/utils/conn.py", line 37, in http_req conn = getattr(requests, method)(url, **kwargs) File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 75, in get return request('get', url, params=params, **kwargs) File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 61, in request return session.request(method=method, url=url, **kwargs) File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 542, in request resp = self.send(prep, **send_kwargs) File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 655, in send r = adapter.send(request, **kwargs) File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 510, in send raise ProxyError(e, request=request) requests.exceptions.ProxyError: HTTPSConnectionPool(host='www.baidu.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 404 NOT FOUND',)))
Ran 1 test in 0.510s
FAILED (errors=1)
@s7safe
第一张图使用有问题。
第二张图是因为代理地址写错了
我看最后那个curl的图,应该填http://203.xxx:8080/ , 不是填random那个服务器的地址。
用的随机代理工具,抓取的代理所以curl回来的是抓取代理的工具,random那个是代理的获取服务器,看了您的回答可能是我的理解有错误,ARL里面的是固定的代理是吗
那么那样的代理该如何搭建呢
@s7safe
- 可以购买,
- 或者自己用代理软件搭建。
@1c3z 我搭建了一个动态的IP池子抓取免费的IP,然后出来的地址是http://xxx.xxx.xxx.xxx/random 每次访问都会进行出来一个IP+端口 ,我在docker文件里直接填的http://xxx.xxx.xxx.xxx/random
这样报的错