python socks5 代理无法使用

发布于 2022-09-05 23:04:13 字数 1559 浏览 31 评论 0

sudo lsof -i:1080
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sslocal 1795 root    4u  IPv4  16233      0t0  TCP localhost:socks (LISTEN)
sslocal 1795 root    5u  IPv4  16234      0t0  UDP localhost:socks 

curl可以通过这个1080端口,下载网页。

target="target_url"
curl --socks5-hostname 127.0.0.1:1080 $target -o /tmp/sample  

现在尝试用python3来实现。
test1:

import urllib.request
target="target_url_youtubr"
proxy_support = urllib.request.ProxyHandler({'sock5': 'localhost:1080'})
opener = urllib.request.build_opener(proxy_support)
urllib.request.install_opener(opener)
web = urllib.request.urlopen(target).read() 
print(web)

The error info:
    sock.connect(sa)
OSError: [Errno 101] Network is unreachable

   

tes2:

import socks
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 1080)
socket.socket = socks.socksocket
import urllib.request
target="target_url_youtubr"
print(urllib.request.urlopen('target').read())

error info:
raise BadStatusLine(line)
http.client.BadStatusLine: 

test3:

import socks
import socket
from urllib import request
socks.set_default_proxy(socks.SOCKS5, "localhost", 1080)
socket.socket = socks.socksocket
target="target_url_youtube"
r = request.urlopen(url)
print(r.read()) 

ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:600)
urllib.error.URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:600)>

请问,如何修改?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文