2012-04-06 41 views
11

Xem thêm: Emacs behind HTTP proxyCó thể nói cho emacs trên Windows sử dụng cài đặt proxy http của IE không?

Có thể nói emacs để tự động sử dụng bất cứ thiết lập proxy đang được sử dụng bởi trình duyệt IE?

Gói url.el nói rằng tôi có thể xác định một cách rõ ràng một proxy như thế này:

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

Có thể cho điều này xảy ra loại tự động một cách kỳ diệu, khi tôi thay đổi thiết lập proxy IE?

Trả lời

16

Có, có thể.

Ý tưởng cơ bản là xác định trước lời khuyên cho các hàm URL và đặt các biến đó thành các giá trị phù hợp. Điều này đòi hỏi phải có khả năng truy xuất các thiết lập proxy của IE từ Windows, từ bên trong elisp.

w32-registry package thực hiện việc này.

Do đó, trên Windows, bạn có thể làm điều này:

(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))))) 
0

Nếu bạn đang xử lý URL qua browse-url, bạn cũng có thể thiết lập nó để chức năng đặc trưng cho Windows như thế này. Sau đó, URL sẽ được xử lý bởi Windows (gọi trình duyệt mặc định của bạn).

browse-url-browser-function là một biến được xác định trong `browse-url.el '.

Giá trị của nó là duyệt-url-default-windows-browser

Các vấn đề liên quan