gpt4 book ai didi

emacs - 让 Emacs 通过 Socks 代理访问 HTTPS

转载 作者:行者123 更新时间:2023-12-01 10:17:48 33 4
gpt4 key购买 nike

这个问题把我逼疯了。我有一个本地 SOCKSv5 代理,它是系统上所有应用程序的网关。我想做url-retrieve-synchronously穿过 socks 。使用以下设置:

(setq socks-noproxy '("127.0.0.1"))
(setq socks-server '("Default server" "127.0.0.1" 8010 5))
(setq url-gateway-method 'socks)

通过普通 HTTP 检索工作正常:
(url-retrieve-synchronously "http://gnu.org")
#<buffer *http www.gnu.org:80*>

但它不适用于 HTTPS :
(url-retrieve-synchronously "https://gnu.org")

它导致:
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 (:type tls :nowait nil))
open-network-stream("gnu.org" #<buffer *url-http-temp*> "gnu.org" 443 :type tls :nowait nil)
byte-code("\306\211\n\307>\203$

问题 : 如何使 HTTPS 在 Emacs 中通过 socks 工作?我的版本是 24.2.50/W32

我知道出于某种原因原始 open-network-stream改为使用 socks-open-network-stream .我试图断点 url-open-stream使用 edebug 但无法理解为什么不触发断点。有任何想法吗?

谢谢。

最佳答案

另一种方法是使用程序proxychains从命令行启动emacs,proxychains支持 HTTP socks4 和 socks5 代理协议(protocol)。代码可能是:
proxychains emacs &
不用说,您必须在 proxychains 而不是 emacs 中配置您的代理设置。

PS:不要忘记在 quiet_mode 中设置代理链在其配置文件(/etc/proxychains.conf)中,否则详细的输出可能会让您感到厌烦。至少在 Fedora 上它不是默认设置。

关于emacs - 让 Emacs 通过 Socks 代理访问 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19699294/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com