この問題は私を夢中にさせました。システム上のすべてのアプリケーションのゲートウェイであるローカル 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$
質問: Emacs で HTTPS を Socks で機能させるにはどうすればよいですか? 私のバージョンは 24.2.50/W32 です
何らかの理由でオリジナルopen-network-stream
が代わりに使用されていることは理解していsocks-open-network-stream
ます。edebugurl-open-stream
を使用してブレークポイントを設定しようとしましたが、ブレークポイントがトリガーされない理由を理解できませんでした。何か案は?
ありがとう。