import socks
# 创建socket
s: socks.socksocket = socks.socksocket()
# 设置代理l
(username, password, ip, port) = ('', '', '', 0)
s.set_proxy(socks.SOCKS5, addr=ip, port=port, username=username, password=password)
# 连接百度
s.connect(("www.baidu.com", 80))
# 使用TCP发送Get请求
s.sendall(
b'GET / HTTP/1.1nr' +
b'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8nr' +
b'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:99.0) Gecko/20100101 Firefox/99.0nr' +
b'nr')
# 读取GET响应结果
print(s.recv(4096).decode(encoding='UTF-8'))
2. HTTP
示例1
# 代理信息
(username, password, ip, port) = ('', '', '', '')
proxies = {'https': f'socks5://{username}:{password}@{ip}:{port}'}
res = requests.get("https://www.ip.cn/api/index?ip=&type=0", headers=headers, proxies=proxies)
print(res.text) # Output: {"rs":1,"code":0,"address":"美国 亚利桑那 凤凰城 ","ip":"50.3.62.2","isDomain":0}
示例2
# 更新代理信息
(username, password, ip, port) = ('', '', '', '')
proxies = {'https': f'socks5://{username}:{password}@{ip}:{port}'}
session = requests.sessions.session()
session.proxies = proxies
resp = session.get('https://www.ip.cn/api/index?ip=&type=0', headers=headers)
print(resp.text) # Output: {"rs":1,"code":0,"address":"美国 亚利桑那 凤凰城 ","ip":"50.3.62.2","isDomain":0}
3. 参考
- python urllib socks5 auth username password 设置



