Python使用本地的ss代理
使用:
proxies={ 'http': 'socks5://127.0.0.1:1080', 'https': 'socks5://127.0.0.1:1080' }
會報錯, 獲取無法連接
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')) urllib.error.URLError: <urlopen error [WinError 10061] No connection could be made because the target machine actively refused it>
代碼:
1. urllib
from urllib import request proxies = { 'https': 'https://127.0.0.1:1080', 'http': 'http://127.0.0.1:1080' } # 需要加上headers, 否則報錯: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 8974: invalid start byte headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36' } google_url = 'https://www.google.com' opener = request.build_opener(request.ProxyHandler(proxies)) request.install_opener(opener) req = request.Request(google_url, headers=headers) response = request.urlopen(req) print(response.read().decode())
2. requests
import requests response = requests.get("http://www.google.com", proxies={ 'http': 'http://127.0.0.1:1080', 'https': 'https://127.0.0.1:1080' }) print(response.text)