我一直在研究RFC 1928,但 BIND 操作的描述对我来说并不清楚。据我了解,设置顺序描述如下:
我不太清楚的是步骤 5。之后我是否必须重新请求 BIND 以允许更多传入连接?
据我了解,相同的 TCP 连接(在步骤 3 中建立)用于与接受的对等方进行通信。如果我需要继续接受同一地址:端口上的连接怎么办?毕竟这可能吗?
这个问题让我抓狂。我有一个本地 SOCKSv5 代理,它是系统上所有应用程序的网关。我想穿上url-retrieve-synchronously袜子。通过以下设置:
(setq socks-noproxy '("127.0.0.1"))
(setq socks-server '("Default server" "127.0.0.1" 8010 5))
(setq url-gateway-method 'socks)
Run Code Online (Sandbox Code Playgroud)
通过纯 HTTP 进行检索工作正常:
(url-retrieve-synchronously "http://gnu.org")
#<buffer *http www.gnu.org:80*>
Run Code Online (Sandbox Code Playgroud)
但它不适用于HTTPS:
(url-retrieve-synchronously "https://gnu.org")
Run Code Online (Sandbox Code Playgroud)
它会导致:
Debugger entered--Lisp error: (file-error "make client process failed" "connection timed out" :name "gnu.org" :buffer #<buffer *url-http-temp*> :host "gnu.org" :service 443 :nowait nil)
make-network-process(:name "gnu.org" :buffer #<buffer *url-http-temp*> :host "gnu.org" :service 443 :nowait nil)
open-network-stream("gnu.org" #<buffer *url-http-temp*> "gnu.org" 443)
open-gnutls-stream("gnu.org" #<buffer *url-http-temp*> "gnu.org" 443)
network-stream-open-tls("gnu.org" #<buffer *url-http-temp*> "gnu.org" 443 …Run Code Online (Sandbox Code Playgroud) 我在 Windows 8.1 x64 中使用 TortoiseSVN。我正在尝试通过本地代理签出 SVN 服务器,我已使用 putty 配置了该代理,该代理将我的请求传输到远程 ssh 服务器,但我收到此错误:
Error running context: The server unexpectedly closed the connection.
Run Code Online (Sandbox Code Playgroud)
我已经以标准方式配置了 TortoiseSVN 代理设置,但我认为它不正确。
你有什么解决办法?
我已经实现了SOCKS5服务器(它通过 SSH将连接转发到远程),它在127.0.0.1:7070上运行。
现在我正在尝试通过它路由所有流量。我认为这是不可能的,但是像proxifier这样的应用程序可以做到这一点......但是如何做到呢?
我正在寻找Windows上的Python解决方案。有任何想法吗?
或者至少让 Chrome/IE 以这种方式工作......
我使用以下代码通过袜子代理代理我的 Django 应用程序中的流量,
def bind_proxy_port(enable=True):
try:
if enable == True:
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 8080)
socket.socket = socks.socksocket
return True
except:
raise Exception("unable to set proxy 127.0.0.1:8080")
Run Code Online (Sandbox Code Playgroud)
我通过此发送的流量是 HTTPS 流量。然而,这会导致到 Rabbit-MQ 的流量也被代理,从而破坏应用程序。有没有办法仅定义要通过代理的单个目标端口和/或任何其他解决方案?
我试图阻止 maven 3.3.9(在 Mac OS 10.12.3 和 Java 1.8.0_121 上运行)使用系统偏好设置中定义的 SOCKS 代理。
\n\n我已经proxy从我的settings.xml.
在我的 中.bash_profile,我设置了以下内容:
export MAVEN_OPTS="\n-Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=80 \\\n-Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=80 \\\n-Dhttp.nonProxyHosts=localhost|foo.example.com|*.bar.example.com|*.baz.example.com \\\n-Dhttps.nonProxyHosts=localhost|foo.example.com|*.bar.example.com|*.baz.example.com \\\n-DsocksProxyHost -DsocksProxyPort"\nRun Code Online (Sandbox Code Playgroud)\n\n当我运行时mvn help:effective-settings,我得到以下信息:
<settings xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">\n <localRepository xmlns="http://maven.apache.org/SETTINGS/1.1.0">/java/.m2/repository</localRepository>\n <servers xmlns="http://maven.apache.org/SETTINGS/1.1.0">\n <!-- ... -->\n </servers>\n <mirrors xmlns="http://maven.apache.org/SETTINGS/1.1.0">\n <mirror>\n <mirrorOf>*</mirrorOf>\n <url>http://nexus.example.com:nnnn/...</url>\n <id>nexus</id>\n </mirror>\n </mirrors>\n <profiles xmlns="http://maven.apache.org/SETTINGS/1.1.0">\n <profile>\n <repositories>\n <repository>\n <releases />\n <snapshots />\n <id>central</id>\n <url>http://central</url>\n </repository>\n </repositories>\n <pluginRepositories>\n <pluginRepository>\n <releases />\n <snapshots />\n <id>central</id>\n …Run Code Online (Sandbox Code Playgroud) 我尝试将 Paramiko 与 SOCKS 代理一起使用(SecureCRT 或 PuTTY 配置为 SOCKS 代理)。我正在使用下面的代码
import paramiko,socks
host, port = '127.0.0.1', 1080
# Set up your proxy information for this socket
sock=socks.socksocket()
sock.set_proxy(
proxy_type=socks.SOCKS4,
addr=host,
port=port,
)
# Connect the socket
sock.connect((host, port))
# Create your Paramiko Transport
transport = paramiko.Transport(sock)
transport.connect(
username='username', #<------not sure if it is needed, the socks proxy needs no username/password
password='secret',
)
client = paramiko.client.SSHClient.connect('remotedevice', username='usernameonremotedevice',sock=sock)
stdin, stdout, stderr=client.exec_command("ls -la")
# Do stuff
# Clean up
client.close()
transport.close()
Run Code Online (Sandbox Code Playgroud)
上述方法似乎让 Paramiko …
无法将 Tor 与 Python 请求结合使用
import requests
proxies = {
'http': 'socks5://localhost:9050',
'https': 'socks5://localhost:9050'
}
url = 'http://httpbin.org/ip'
print(requests.get(url, proxies=proxies).text)
Run Code Online (Sandbox Code Playgroud)
我尝试了多种解决方案,但没有一个对我有用。我正在尝试通过 Tor 使用 Python 发出简单的请求。提前致谢。
错误:
requests.exceptions.ConnectionError: SOCKSHTTPSConnectionPool(host='canihazip.com', port=443): url 超出最大重试次数: / (由 NewConnectionError('< urllib3.contrib.socks.SOCKSHTTPSConnection object at 0x031B77F0>: 无法建立blish 一个新连接:[Errno 10061] 无法建立连接,因为目标机器主动拒绝它',))
我正在尝试连接到需要代理(socks)才能连接的数据库,如果我手动使用代理连接,我可以连接,但我需要让脚本连接到机器的代理(socks)才能做这个SELECT
脚本
import socket
import socks
import requests
import pymssql
socks.set_default_proxy(socks.SOCKS5, "138.34.133.155", 1080, True, 'user','password')
socket.socket = socks.socksocket
server = '172.43.56.89'
username = 'user'
password = 'password'
database = 'dbname'
conn = requests.get(pymssql.connect(host=server,user=username,password=password,database=database))
cursor = conn.cursor()
cursor.execute("SELECT column FROM table")
row = cursor.fetchall()
conn.close()
for i in row:
print(i)
Run Code Online (Sandbox Code Playgroud)
输出
回溯(最近一次调用):文件“connection.py”,第 15 行,在 conn = requests.get(pymssql.connect(host=server,user=username,password=password,database=database)) 文件“src\ pymssql.pyx”,第 642 行,在 pymssql.connect pymssql.OperationalError 中:(20009,'DB-Lib 错误消息 20009,严重性 9:\n无法连接:Adaptive Server 不可用或不存在 (172.43.56.89:1433) \n在未知错误 (10060) 期间出现 Net-Lib 错误\n')
我正在使用一个 HTTP 请求库,它可以使用http.Agent实例来通过特定代理路由您的请求。让我举一个例子:
const SocksProxyAgent = require('socks-proxy-agent')
const HttpProxyAgent = require('http-proxy-agent') // not used
const axios = require('axios')
// requires Tor service to be running
const torProxyAgent = new SocksProxyAgent('socks://circuit1@127.0.0.1:9050')
// not used
const otherProxyAgent = new HttpProxyAgent('http://admin:1234@localhost:8888')
const axiosConfig = {
httpsAgent: torProxyAgent,
httpAgent: torProxyAgent
}
const axiosInstance = axios.create(axiosConfig)
axiosInstance.get('https://ifconfig.io/ip')
.then(res => {
console.log('Public IP address:', res.data)
}).catch(err => {
console.log(err)
})
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我指定了多个代理 (torProxyAgent和otherProxyAgent),但我只能使用一个。
因此,我正在寻找一种超级代理,我可以将其传递给我的 HTTP 请求库,然后该超级代理通过将所有请求路由到第一个代理,然后通过第二个代理,然后将任意数量的普通代理链接在一起。到第三个,依此类推……
这可能吗?有现成的解决方案吗?
是否有一种方法可以使用Proxy类创建一个假代理,将所有方法调用传递给一个代理,然后传递给第二个代理?
编辑: …