我在为chrome驱动程序设置socks代理时遇到了麻烦
Proxy proxy = new Proxy();
proxy.setProxyType(Proxy.ProxyType.MANUAL);
proxy.setAutodetect(false);
proxy.setSocksProxy(ProxyHelper.PROXY_HOST + ":" + ProxyHelper.PROXY_PORT);
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(CapabilityType.PROXY, proxy);
WebDriver chromeDriver = new ChromeDriver(capabilities);
Run Code Online (Sandbox Code Playgroud)
此配置提供:
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: cannot parse capability: proxy from unknown error: proxyType is 'manual' but no manual proxy capabilities were found
Run Code Online (Sandbox Code Playgroud)
我认为它希望我填写http,ftp和ssl代理.但是,如果我填补他们; 错误没有提高,但我的代理也不能正常工作,因为它试图像http代理而不是袜子代理一样使用它.
我能做什么?
示例代码:
#!/usr/bin/python
import socks
import socket
import urllib2
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS4, "127.0.0.1", 9050, True)
socket.socket = socks.socksocket
print urllib2.urlopen("http://almien.co.uk/m/tools/net/ip/").read()
Run Code Online (Sandbox Code Playgroud)
TOR在端口9050上运行SOCKS代理(默认值).该请求通过TOR,在我自己以外的IP地址上显示.但是,TOR控制台会发出警告:
"2月28日22:44:26.233 [警告]你的应用程序(使用socks4到端口80)只给Tor一个IP地址.做DNS解析的应用程序本身可能泄漏信息.考虑使用Socks4A(例如通过privoxy或socat).有关详细信息,请参阅 https://wiki.torproject.org/TheOnionRouter/TorFAQ#SOCKSAndDNS."
即DNS查找不通过代理.但这就是setdefaultproxy应该做的第4个参数,对吧?
来自http://socksipy.sourceforge.net/readme.txt:
setproxy(proxytype,addr [,port [,rdns [,username [,password]]]])
rdns - 这是一个布尔标志,而不是修改DNS解析的行为.如果设置为True,则将在服务器上远程执行DNS解析.
选择PROXY_TYPE_SOCKS4和PROXY_TYPE_SOCKS5时效果相同.
它不能是本地DNS缓存(如果urllib2甚至支持它),因为当我将URL更改为此计算机以前从未访问过的域时会发生这种情况.
我是python的新手,想SocksIPy在Ubuntu 上安装(在VirtualBox vm中运行).README表示将socks.py文件放入我的lib/site-packages目录中.我不知道在哪里找到这个目录.python socks.py install来自root 的Terminal命令 运行,但是没有正确安装(当我import socks在python脚本中运行时出现错误"没有名为socks的模块" )
SocksIPy链接 http://socksipy.sourceforge.net/
有人可以建议一种让我的机器上运行袜子/袜子的方法吗?谢谢!
meteor使用DDP而不是袜子/ websockets.如何获得浏览器调试控制台中发生的事情的任何类型的视图?在chrome的网络面板中,至少只有一个"websocket"连接,没有太多关于在其上运行的流量的信息.
我知道arunoda的DDP分析器和代理,但正在寻找其他方法来获取流量的基本信息.我原以为chrome的调试工具会对HTTP以外的协议提供更多的支持,并有兴趣知道其他人认为有用的东西.
是否可以在每个开启者基础上通过一个袜子服务器上的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请求设置相同的代理.如何为不同的开启者设置不同的代理?
我正在尝试找到一个关于如何使用SOCKS代理设置apache2 mod_proxy的文档我找到了这个页面 http://menet.math.ecnu.edu.cn/manual/mod/mod_proxy.html#socks 但它是关于apache版本1,我不确定那里的配方是否仍适用于版本2
我想要实现的是:
有一个apache2服务我的域exampleA.com和SOCKS代理.它们都在服务器A上运行.SOCKS代理就在那里,因此服务器A上的某些应用程序可以与服务器B,C上的其他应用程序通信,并且它运行在localhost:4000上
我想要的是当用户访问特定网址时,例如 http://exempleA.com/spetialurl/http://exampleB.com/xxx
这个http请求将通过apache mod_proxy代理到服务器B - 但是通过SOCKS代理或者如果用户访问 http://exempleA.com/spetialurl/http://exampleC.com/xxx, 这也将通过mod_proxy代理到服务器C通过SOCKS代理
我可以配置mod_proxy来代理服务器B或C的specyfic url我缺少的是如何配置/告诉apache2使用SOCKS代理
服务器B和C上的URL不公开,但可以通过SOCKS代理访问它们
我想设置nonProxyHostsSOCKS5代理的列表,即应该使用直接连接的主机名列表.
正如oracle文档描述的那样,有一些选项可以命名http.nonProxyHosts并ftp.nonProxyHosts为HTTP和FTP设置代理排除,但SOCKS代理没有特定的设置.
我试过http.nonProxyHosts,但这不会影响SOCKS连接.
SOCKS代理通过以下方式设置:
System.setProperty("socksProxyHost", "192.168.10.10");
System.setProperty("socksProxyPort", "3128");
Run Code Online (Sandbox Code Playgroud)
但这导致甚至数据库连接localhost都使用SOCKS代理,这是不可接受的.
这应该如何使用?如何从代理连接中排除某些主机?
我是socks5的新手,但我正在尝试通过创建socks5服务器来学习.
我从阅读RFC 1928获得了大量有关SocksV5的信息.
它解释了必须发送到客户端和服务器的数据包,以便建立与服务器的连接,请求远程连接和绑定.它还解释了如何使用UDP很棒.
我不明白的是连接建立后会发生什么.
例如,
Client: <sends method identifiers>
Server: <responds with the method identifier to use>
...authentication is complete....
Client: Sends a connection request to 192.168.1.1:2321
Server: Acknowledges Packet
Server: Acknowledges successful connection to 192.168.1.1:2321
Client: ????
Run Code Online (Sandbox Code Playgroud)
从客户端发送到服务器以实际将数据转发到目标的数据包格式是什么?
让我们说客户端要求代理服务器建立3个连接.当客户端想要将数据转发到连接1时,必须有一个协议来执行此操作.否则,服务器将如何知道将连接发送到哪个连接?我在RFC文档中找不到任何信息.
我想另一个问题是,这可能吗?客户端是否可以请求多个连接,或者它是否必须一次连接一个,或者为每个要转发的连接建立与服务器的单独套接字连接?
谢谢您的帮助!
我有Tor运行和python脚本来获取网页:
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
socket.socket = socks.socksocket
print urllib2.urlopen(URL).read()
Run Code Online (Sandbox Code Playgroud)
但是,如果URL是
http://localhost/some_page.html
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
raise Socks5Error(ord(resp[1]),_generalerrors[ord(resp[1])])
TypeError: __init__() takes exactly 2 arguments (3 given)
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释究竟发生了什么?
谢谢.
我需要在Netty客户端配置socks代理(通过socks4或5个代理请求不同的站点).从免费袜子列表(如www.socks-proxy.net,http://sockslist.net/ 等)尝试了很多代理,但没有运气:
@Test
public void testProxy() throws Exception {
final String ua = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36";
final String host = "www.main.de";
final int port = 80;
Bootstrap b = new Bootstrap();
b.group(new NioEventLoopGroup())
.channel(NioSocketChannel.class)
.handler(new ChannelInitializer<SocketChannel>() {
@Override
protected void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline p = ch.pipeline();
p.addLast(new HttpClientCodec());
p.addLast(new HttpContentDecompressor());
p.addLast(new HttpObjectAggregator(10_485_760));
p.addLast(new ChannelInboundHandlerAdapter() {
@Override
public void channelActive(final ChannelHandlerContext ctx) throws Exception {
HttpRequest request = new …Run Code Online (Sandbox Code Playgroud)