Python | 使用Socks5

Python | 使用Socks5,第1张

Python | 使用Socks5 1. TCP
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.1\n\r' +
    b'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\n\r' +
    b'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:99.0) Gecko/20100101 Firefox/99.0\n\r' +
    b'\n\r')
# 读取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 设置

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/793974.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存