问题标签 [socks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
11213 浏览

java - 将不同的代理连接到特定地址

我正在开发一个 Java webservice 应用程序(使用 JAX-WS),它必须使用两个不同的代理来建立到 Internet 和 Intranet 的单独连接。作为解决方案,我尝试编写自己的java.net.ProxySelector,它为 Internet 或 Intranet 返回一个java.net.Proxy实例(HTTP 类型)。

在一个小测试应用程序中,我尝试通过URL.openConnection()下载网页,然后用我自己的替换默认的 ProxySelector。但这会导致异常:

java.net.SocketException:未知代理类型:HTTP 在 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:370) 在 java.net.Socket.connect(Socket.java:519) 在 java.net.Socket.connect( Socket.java:469) 在 sun.net.NetworkClient.doConnect(NetworkClient.java:163) 在 sun.net.www.http.HttpClient.openServer(HttpClient.java:394) 在 sun.net.www.http.HttpClient .openServer(HttpClient.java:529) 在 sun.net.www.http.HttpClient.(HttpClient.java:233) 在 sun.net.www.http.HttpClient.New(HttpClient.java:306) 在 sun.net .www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:844) 在 sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:792) 在 sun.net.www.protocol.http.HttpURLConnection sun.net.www.protocol.http 上的 .connect(HttpURLConnection.java:703)。HttpURLConnection.getInputStream(HttpURLConnection.java:1026) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373) at norman.test.ProxyTest.conntectToRmViaProxy(ProxyTest.java:42) at norman.test.ProxyTest.main(ProxyTest .java:65)

  1. 问题:“如果我的 ProxySelector 只返回 HTTP 代理,为什么还要尝试应用程序通过 SOCKS 建立连接?”

2 问题:“是否有替代方案,为每个连接定义不同的代理?”

这是我的代理选择器:

这是测试类:

0 投票
2 回答
291 浏览

java - Java API:在不同线程上使用代理进行连接

我想使用不同的代理,而不仅仅是一个。目前ProxySelector为所有 URLConnections 设置系统范围的代理。有谁知道支持非系统范围代理的库。就像添加适当的代理 http headers/socks 层一样简单?

0 投票
3 回答
49304 浏览

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

如何使用带有 urllib2 的 SOCKS 4/5 代理下载网页?

0 投票
1 回答
891 浏览

java - 为什么 Java 不支持 socks4?

考虑此代码:

我已经通过 Wireshark 验证了这在有效的 socks4 代理上不起作用。目前这些是有效的 socks4 ONLY 代理服务器:

然而,给它一个有效的 socks5 代理,它就可以正常工作:

0 投票
2 回答
2036 浏览

java - 如何将 SOCKS 与 HtmlUnit 一起使用?

是否可以通过 SOCKS 代理使用 HtmlUnit?有人可以提供代码示例吗?

====

所以我已经挖掘了 webclient 资源,这是我能想到的最好的方法:

  1. 子类MultiThreadedHttpConnectionManager,以便它允许设置 SOCKS 信息,如果已设置,则在返回连接之前设置 SOCKS 参数

  2. 子类WebConnection- 重写createHttpClient以便它使用步骤 1 中的管理器并添加一个方法来直接获取该管理器或首先获取 http 客户端(它现在受到保护- 太糟糕了......)

  3. 使用 1) 创建一个WebClient实例 2) 创建子类WebConnection3) 将其设置为由WebClient4) 访问连接的管理器并使用它的方法来使用袜子

0 投票
0 回答
883 浏览

python - Python. smtp with socks

Anybody know free module like smtplib, but with socks or http proxy?

0 投票
7 回答
19518 浏览

python - 将 urllib2 与 SOCKS 代理一起使用

是否可以通过一个袜子服务器上的 SOCKS 代理来获取带有 urllib2 的页面?我已经看到了使用 setdefaultproxy 方法的解决方案,但是我需要在不同的开瓶器中有不同的袜子。

所以有 SocksiPy 库,效果很好,但必须以这种方式使用:

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

0 投票
3 回答
2214 浏览

python - Python,为基于套接字的应用程序(不是 urllib2)实现代理支持

我有点难过:我有一个简单的信使客户端程序(纯 python、套接字),我想添加代理支持(http/s、socks),但是我对如何去做有点困惑。我假设套接字级别的连接将完成到代理服务器,此时标头应包含 CONNECT + 目标 IP(聊天服务器的)和身份验证(如果代理需要),但其余的是有点超出我。后续连接是如何处理的,特别是读/写等...

是否有关于 Python 中基于套接字(tcp)编程的代理支持实现的指南?

谢谢

0 投票
2 回答
3707 浏览

proxy - 单个 SSH SOCKS 5 代理中的多个连接

我在 Stackoverflow 上的第一个问题是:我应该怎么做才能让 SSH SOCKS 5 代理 (SSH2) 允许多个连接?

我注意到的是,当我在 Firefox 中加载页面(已经配置为使用 SOCKS 5 代理)时,它会一一加载所有内容。它可以用肉眼感知,我还通过使用 Firebug 的 NET 选项卡确认了这一点,该选项卡记录了已建立的连接。

我已经在about:config页面中配置了一些指令,比如管道、持久代理连接和其他一些东西。但是我仍然得到这种资源的顺序加载,这显然非常慢。

我的 ISP 很糟糕,因为在白天,它故意随机断开连接。因此,如果不需要大量浏览器刷新或按 F5 键,就不可能真正完成有意义的工作。所以,这就是我开始寻找解决方案的原因。

SSH 的动态端口转发是我目前找到的最好的解决方案,因为它有一些非常好的压缩功能,可以节省很多无用的流量,而且也很安全。剩下的唯一一件事就是让它运行多个连接。

感谢所有输入。

0 投票
2 回答
7794 浏览

c# - 如何将原始 HTTP 响应解析为 HttpListenerResponse?

如果我将原始 HTTP 响应作为字符串:

有没有一种简单的方法可以将其解析为HttpListenerResponse对象?或者至少是某种 .NET 对象,所以我不必处理原始响应。

我目前正在做的是提取标题键/值对并将它们设置在HttpListenerResponse. 但是有些标头无法设置,然后我必须将响应的正文剪掉并写入OutputStream. 但是身体可以被压缩,或者它可以是一个图像,我还不能开始工作。有些响应到处都包含随机字符,这看起来像是编码问题。这很麻烦。

我收到了原始响应,因为我正在使用 SOCKS 发送 HTTP 请求。我正在开发的程序基本上是一个 HTTP 代理,它可以通过 SOCKS 代理路由请求,就像 Privoxy 一样。