Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 365
Cheeso Avatar asked Apr 06 '12 23:04

Cheeso


1 Answers

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)))))
like image 79
Cheeso Avatar answered Nov 02 '22 07:11

Cheeso