Is it possible to tell emacs on Windows to use the IE http proxy settings?

◇◆丶佛笑我妖孽 提交于 2019-12-20 10:55:58

问题


See also: Emacs behind HTTP proxy

Is it possible to tell emacs to automatically use whatever proxy settings are in use by IE?

The url.el package says I can explicitly specify a proxy like this:

(setq url-using-proxy t)
(setq url-proxy-services  '(("http" . "proxyserver:3128")))

Is it possible for this to happen sort of auto-magically, when I change the IE proxy settings?


回答1:


Yes, it's possible.

The basic idea is to define before-advice for the URL functions, and set those variables to appropriate values. This requires being able to retrieve the IE proxy settings from Windows, from within elisp.

The w32-registry package does this.

Therefore, on Windows, you can do this:

(eval-after-load "url"
  '(progn
     (require 'w32-registry)
     (defadvice url-retrieve (before
                              w32-set-proxy-dynamically
                              activate)
       "Before retrieving a URL, query the IE Proxy settings, and use them."
       (let ((proxy (w32reg-get-ie-proxy-config)))
         (setq url-using-proxy proxy
               url-proxy-services proxy)))))



回答2:


If you are handling URL's via browse-url, you can also set it to Windows-specific function like this. Then the URL's will be handled by Windows (invoking your default browser).

browse-url-browser-function is a variable defined in `browse-url.el'.

Its value is browse-url-default-windows-browser



来源:https://stackoverflow.com/questions/10050186/is-it-possible-to-tell-emacs-on-windows-to-use-the-ie-http-proxy-settings

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!