5

この問題は私を夢中にさせました。システム上のすべてのアプリケーションのゲートウェイであるローカル SOCKSv5 プロキシがあります。url-retrieve-synchronouslySOCKSを履いてみたいです。次の設定を使用します。

(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を使用してブレークポイントを設定しようとしましたが、ブレークポイントがトリガーされない理由を理解できませんでした。何か案は?

ありがとう。

4

5 に答える 5

1

もう 1 つの方法は、プログラムを使用proxychainsしてコマンド ラインから emacs を起動することproxychainsです。これは、HTTP ソックス 4 およびソックス 5 プロキシ プロトコルをサポートします。コードは次のようになります。

proxychains emacs &

言うまでもなく、emacs ではなくプロキシチェーンでプロキシ設定を構成する必要があります。

quiet_modePS: configure file( ) でproxychains を設定することを忘れないで/etc/proxychains.confください。少なくとも Fedora ではデフォルト設定ではありません。

于 2014-01-27T00:47:32.297 に答える
0

~/.emacs.d/w3m.sh を作成します。

#!/bin/bash

proxychains /usr/bin/w3m "$@"

カスタム w3m:

(setq w3m-command "~/.emacs.d/w3m.sh")

次に、w3m のみがプロキシを使用します。

于 2016-12-15T04:37:38.800 に答える
0

emacsの現在のバージョンで修正されました(25.2.2をチェック)

于 2018-05-22T15:15:29.433 に答える