Python 请求连接到被阻止的服务器
Python requests connect to blocked server
我想连接到一个被阻止的 URL,使用 python requests。
我使用了许多不同的代理服务器 none 对我有用。 https://free-proxy-list.net/
import requests
x = '46.21.153.16:3128'
http_proxy = "http://"+x
https_proxy = "https://"+x
proxyDict = {
"http": http_proxy,
"https": https_proxy
}
a = requests.get('https://example.com', proxies=proxyDict)
print(a.status_code)
Traceback (most recent call last): File "t.py", line 14, in
a = requests.get('https://my-url', proxies=proxyDict) File "/home/user/Documents/backend1/venv-livedx/lib/python3.5/site-packages/requests/api.py",
line 75, in get
return request('get', url, params=params, **kwargs) File "/home/user/Documents/livedx/backend1/venv-livedx/lib/python3.5/site-packages/requests/api.py",
line 60, in request
return session.request(method=method, url=url, **kwargs) File "/home/user/Documents/backend1/venv-livedx/lib/python3.5/site-packages/requests/sessions.py",
line 533, in request
resp = self.send(prep, **send_kwargs) File "/home/user/Documents/backend1/venv-livedx/lib/python3.5/site-packages/requests/sessions.py",
line 646, in send
r = adapter.send(request, **kwargs) File "/home/user/Documents/backend1/venv-livedx/lib/python3.5/site-packages/requests/adapters.py",
line 510, in send
raise ProxyError(e, request=request) requests.exceptions.ProxyError: HTTPSConnectionPool(host='my-url',
port=443): Max retries exceeded with url: /management (Caused by
ProxyError('Cannot connect to proxy.', OSError('Tunnel connection
failed: 403 Forbidden',)))
流行的网络防火墙将流行的用户代理视为机器人。
复制您的浏览器代理,然后根据要求尝试更改用户代理。我打赌请求使用它自己的默认用户代理或 python urllib。
示例:
a = requests.get('https://example.com', headers={'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Safari/537.36'})
尝试使用仅 HTTP 代理进行连接。
所以尝试将您的代码更改为:
http_proxy = "http://46.21.153.16:3128"
proxyDict = {
"http": http_proxy,
"https": http_proxy
}
免费代理可能不支持 ssl/tls 连接。
此外,由于您使用的是免费代理,请确保它没有过期。
此外,如果您尝试解析的 url 具有自签名证书 python 请求也可能会失败,因此您必须通过将验证参数设置为 False 来发出请求。
a = requests.get('https://example.com', proxies=proxyDict, verify=False)
.
我想连接到一个被阻止的 URL,使用 python requests。
我使用了许多不同的代理服务器 none 对我有用。 https://free-proxy-list.net/
import requests
x = '46.21.153.16:3128'
http_proxy = "http://"+x
https_proxy = "https://"+x
proxyDict = {
"http": http_proxy,
"https": https_proxy
}
a = requests.get('https://example.com', proxies=proxyDict)
print(a.status_code)
Traceback (most recent call last): File "t.py", line 14, in a = requests.get('https://my-url', proxies=proxyDict) File "/home/user/Documents/backend1/venv-livedx/lib/python3.5/site-packages/requests/api.py", line 75, in get return request('get', url, params=params, **kwargs) File "/home/user/Documents/livedx/backend1/venv-livedx/lib/python3.5/site-packages/requests/api.py", line 60, in request return session.request(method=method, url=url, **kwargs) File "/home/user/Documents/backend1/venv-livedx/lib/python3.5/site-packages/requests/sessions.py", line 533, in request resp = self.send(prep, **send_kwargs) File "/home/user/Documents/backend1/venv-livedx/lib/python3.5/site-packages/requests/sessions.py", line 646, in send r = adapter.send(request, **kwargs) File "/home/user/Documents/backend1/venv-livedx/lib/python3.5/site-packages/requests/adapters.py", line 510, in send raise ProxyError(e, request=request) requests.exceptions.ProxyError: HTTPSConnectionPool(host='my-url', port=443): Max retries exceeded with url: /management (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 403 Forbidden',)))
流行的网络防火墙将流行的用户代理视为机器人。
复制您的浏览器代理,然后根据要求尝试更改用户代理。我打赌请求使用它自己的默认用户代理或 python urllib。
示例:
a = requests.get('https://example.com', headers={'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Safari/537.36'})
尝试使用仅 HTTP 代理进行连接。 所以尝试将您的代码更改为:
http_proxy = "http://46.21.153.16:3128"
proxyDict = {
"http": http_proxy,
"https": http_proxy
}
免费代理可能不支持 ssl/tls 连接。
此外,由于您使用的是免费代理,请确保它没有过期。
此外,如果您尝试解析的 url 具有自签名证书 python 请求也可能会失败,因此您必须通过将验证参数设置为 False 来发出请求。
a = requests.get('https://example.com', proxies=proxyDict, verify=False)
.