1
ssh -D localhost:5678 [email protected]
으로 ssh 터널을 열었으며 python3 응용 프로그램에서 사용하고 싶습니다.urllib 및 프록시를 사용하여 웹 사이트에 액세스 할 수 없습니다.
#!/usr/bin/python3.1
# -*- coding:Utf-8 -*-
import urllib.request
proxyhand = urllib.request.ProxyHandler({"socks" : "http://localhost:5678"})
opener = urllib.request.build_opener(proxyhand)
page = opener.open("http://www.mysite.com")
여기서 mysite.com은 server.com의 네트워크에서만 액세스 할 수 있습니다 (ssh 터널을 사용하는 이유입니다).
제한없이 다른 웹 사이트에 액세스 할 수 있지만 mysite.com의 경우 접속 시간 초과 오류가 발생했습니다. 터널은 as explained here으로 구성된 firefox를 사용하여 mysite.com에 액세스 할 수 있습니다.
당신에게
"http"를 사용하면 모든 웹 사이트에 "BadStatusLine"예외가 있습니다. –
SOCKS는 SSH 리디렉션에 적합합니다. 문제는 'urllib'에 양말 지원이 없다는 것입니다. 이 작업을 수행하기 위해 건너 뛰기 위해 다른 후프가있을 수 있습니다. 이것을 시도하십시오 : http://stackoverflow.com/questions/2317849/how-can-i-use-a-socks-4-5-proxy-with-urllib2 – jathanism
그것은 파이썬 2.x 용이지만 작동합니다. 고맙습니다 ! –