如何设置PAC文件以使用SOCKS代理进行身份验证?
以这个简单的PAC文件为例:
function FindProxyForURL(url, host) { return "SOCKS 69.123.133.75:7257;"; }
Run Code Online (Sandbox Code Playgroud)
您将如何使用用户名和密码连接到该socks代理?
如果没有代理服务器无法访问jcenter,要解决依赖关系,我想使用socks而不是http代理,我如何在commanad行中使用它?我知道如何使用http代理:
-Dhttp.proxyHost=yourProxy -Dhttp.proxyPort=yourPort
-Dhttp.proxyUser=usernameProxy -Dhttp.proxyPassword=yourPassoword
Run Code Online (Sandbox Code Playgroud) ssh -D some-port-number remote-server-url.socks5://localhost:that-port-number-metioned-above)。那么这些概念—— SOCKS5 proxying, ssh tunneling,是如何相互reverse ssh tunneling关联的?
我需要创建一个发出请求(发布、获取等)的多线程应用程序,为此我选择了Httpclient.
默认情况下它不支持 Socks 代理。所以我发现Sockshandler(https://github.com/extremecodetv/SocksSharp)可以用来代替基本的 HttpClientHandler。它允许我使用袜子。
但我有一个问题。我的所有请求都应该通过我从互联网解析的不同代理发送。但 httpclient 处理程序不支持动态更改代理。如果我没有有效的代理,我需要重新创建一个httclient,这没问题,但是如果我有200个线程,则需要大量的cpu。那么这种情况我该怎么办呢?
第二个问题。我发现这篇文章(https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/HttpClient )讨论了作为单个实例使用以获得更好的性能,但在多线程程序中这是不可能的。在这种情况下哪种方式更好?
谢谢帮助
要构建某个图像,我需要创建一个隧道并使 docker 使用此隧道作为 socks5 代理(也将代理用于 DNS)。
所以现在我有几个问题:
我一直在研究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 代理设置,但我认为它不正确。
你有什么解决办法?
我有 SOCKS 5 代理的凭据(主机、端口、用户名、密码)。我想设置该代理并与 selenium-Chrome 一起使用。
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
proxy = Proxy()
proxy.socksProxy = '123.12.12.12:80'
proxy.socksUsername = 'my_username'
proxy.socksPassword = 'my_password'
capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)
driver = webdriver.Chrome(desired_capabilities=capabilities)
driver.get("https://wtfismyip.com/")
Run Code Online (Sandbox Code Playgroud)
但是IP不会改变。我已经知道如何设置不需要身份验证的代理(只需使用 chromedirver 选项 --proxy-server),但此方法不接受用户名和密码。
知道为什么此代码不起作用吗?
我正在尝试连接到需要代理(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')