相关疑难解决方法(0)

如何在Python中通过Tor制作urllib2请求?

我正在尝试使用Python编写的爬虫来抓取网站.我想将Tor与Python集成,这意味着我想使用Tor匿名抓取该站点.

我试过这样做.它似乎不起作用.我检查了我的IP,它仍然与我使用tor之前的IP相同.我通过python检查了它.

import urllib2
proxy_handler = urllib2.ProxyHandler({"tcp":"http://127.0.0.1:9050"})
opener = urllib2.build_opener(proxy_handler)
urllib2.install_opener(opener)
Run Code Online (Sandbox Code Playgroud)

python tor

49
推荐指数
3
解决办法
4万
查看次数

通过代理隧道httplib

我试图弄清楚如何通过代理将数据发送到服务器.我希望通过tor可以实现这一点,但是当使用SOCKS时,使用httplib显然是不可能的(如果我错了,请纠正我)

这就是我现在所拥有的

import httplib
con = httplib.HTTPConnection("google.com")
con.set_tunnel(proxy, port)
con.send("Sent Stuff")
Run Code Online (Sandbox Code Playgroud)

问题是,隧道设置时似乎冻结了.谢谢你的帮助.

python sockets proxy tunnel httplib

16
推荐指数
2
解决办法
3万
查看次数

使用urllib2和SOCKS代理

是否可以在每个开启者基础上通过一个袜子服务器上的SOCKS代理获取urllib2的页面?我已经看过使用setdefaultproxy方法的解决方案,但我需要在不同的开启者中使用不同的袜子.

所以有SocksiPy库,它工作得很好,但它必须以这种方式使用:

import socks
import socket
socket.socket = socks.socksocket
import urllib2
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "x.x.x.x", y)
Run Code Online (Sandbox Code Playgroud)

也就是说,它为所有urllib2请求设置相同的代理.如何为不同的开启者设置不同的代理?

python urllib2 socks

14
推荐指数
2
解决办法
2万
查看次数

DNS代理?

在过去的几天里,我一直在拔头发寻找一个好的解决方案来防止在socks4/5代理上发生DNS泄漏.

我查看了SocksiPy(-branch)模块,并尝试包装了许多内容(urllib,urllib2,dnstools),但它们似乎仍然泄漏了DNS请求.pyCurl也是如此.

我知道proxychains/proxyresolv可以通过socks4/5代理抛出DNS请求,并且它通过一些LD_PRELOAD库完成所有它的神奇功能来修补套接字的功能,就像SocksiPy一样,但我似乎无法弄清楚为什么它不通过socks4或socks5代理发送DNS.

我想对于Linux我可以使用libproxychains.so的CType来做我的解决方案,但我正在寻找多平台的东西,所以我认为猴子修补套接字模块是要走的路.

有没有人想出一个解决这个问题的好方法?为了便携性,我想在代码中完成所有操作,并且我不想诉诸于运行另一个代理服务器!

谢谢!

python dns proxy

13
推荐指数
1
解决办法
5266
查看次数

如何使用python通过(tor)socks代理发出HTTP请求?

我正在尝试使用python发出HTTP请求.我尝试更改我的Windows系统代理(使用inetcpl.cpl)

url = 'http://www.whatismyip.com'
request = urllib2.Request(url)
request.add_header('Cache-Control','max-age=0')
request.set_proxy('127.0.0.1:9050', 'socks')
response = urllib2.urlopen(request)
response.read()
Run Code Online (Sandbox Code Playgroud)

给了我错误

回溯(最近一次调用最后一次):文件"",第1行,在响应中= urllib2.urlopen(请求)文件"C:\ Python27\lib\urllib2.py",第126行,在urlopen中返回_opener.open(url, data,timeout)文件"C:\ Python27\lib\urllib2.py",第400行,打开响应= self._open(req,data)文件"C:\ Python27\lib\urllib2.py",第423行,在_open'unknown_open',req)文件"C:\ Python27\lib\urllib2.py",第378行,在_call_chain中结果= func(*args)文件"C:\ Python27\lib\urllib2.py",第1240行,在unknown_open中提升URLError('未知网址类型:%s'%类型)URLError:

python proxy http tor socks

10
推荐指数
1
解决办法
1万
查看次数

使用tor作为带有python urllib2或mechanize的SOCKS5代理

我的目标是使用python的机械化和tor SOCKS代理.

我没有使用具有以下Ubuntu版本的GUI:描述:Ubuntu 12.04.1 LTS版本:12.04代号:精确

根据nmap扫描安装Tor并正在侦听端口9050:

    Starting Nmap 5.21 ( http://nmap.org ) at 2013-01-22 00:50 UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000011s latency).
    Not shown: 996 closed ports
    PORT     STATE SERVICE
    22/tcp   open  ssh
    80/tcp   open  http
    3306/tcp open  mysql
    9050/tcp open  tor-socks
Run Code Online (Sandbox Code Playgroud)

我还认为我是否可以telnet到端口9050是合理的,我可以:

    telnet 127.0.0.1 9050
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    quit
    Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)

我非常希望在这篇文章中建议使用urllib2: 如何使用带有urllib2的SOCKS 4/5代理?

所以我在python中尝试了以下脚本:

    import socks
    import socket
    socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
    socket.socket = socks.socksocket …
Run Code Online (Sandbox Code Playgroud)

ubuntu networking mechanize urllib2 tor

4
推荐指数
1
解决办法
1万
查看次数

删除SOCKS 4/5代理

这个问题与此相反:

如何在urllib2中使用SOCKS 4/5代理?

假设我使用该问题中接受的方法使用SOCKS 5代理.如何在同一过程中将其恢复为无代理?

即启动进程使用代理..删除代理...

也许有更好的方法来使用代理,以便以后更容易删除它?

python sockets proxy

3
推荐指数
1
解决办法
1757
查看次数

标签 统计

python ×6

proxy ×4

tor ×3

sockets ×2

socks ×2

urllib2 ×2

dns ×1

http ×1

httplib ×1

mechanize ×1

networking ×1

tunnel ×1

ubuntu ×1