如何在经过身份验证的HTTP代理后面配置Emacs?

时间:2010-05-06 17:53:28

标签: http emacs proxy elpa

虽然它没有指定任何有关代理身份验证的内容,但another question可以解答这个问题。

其解决方案是

(setq url-proxy-services '(("no_proxy" . "work\\.com")
                           ("http" . "proxy.work.com:911")))

5 个答案:

答案 0 :(得分:12)

如今,我对“经过身份验证的代理问题”的处理方法是使用CNTLM。它是便携式的,非常容易配置,可以作为deamon运行。

答案 1 :(得分:7)

我通过以下方式获得授权而无需用户互动:

(setq url-proxy-services
   '(("no_proxy" . "^\\(localhost\\|10.*\\)")
     ("http" . "proxy.com:8080")
     ("https" . "proxy.com:8080")))

(setq url-http-proxy-basic-auth-storage
    (list (list "proxy.com:8080"
                (cons "Input your LDAP UID !"
                      (base64-encode-string "LOGIN:PASSWORD")))))

Emacs 24.3的这项工作。它基于非公共API技巧,因此可能无法在其他Emacs版本中使用...

LOGINPASSWORD替换为您的身份验证信息...

答案 2 :(得分:6)

好吧,如果你真的想要这样做并且不介意使用其他程序那么...... socat就是答案。使用socat将本地端口转发到通过http代理的连接。你没有绕过它,只是“拴住”没有它的应用程序的功能(如果有人问)。这可能很难。

如果您使用的是unixy操作系统,那么另一种解决方案是安装您自己的非身份验证的http代理,该代理使用身份验证代理(如squid)。对某些人来说,这可能看起来像是规避。小心。

例如,请查看Proxytunnel

更新:Mike Hoss似乎在他添加到上面链接的question的评论中是正确的。 URL包将询问ID和密码。至少这是我在文件url-http.el中的url-http-create-request的defun中看到的。

答案 3 :(得分:3)

如果其他人遇到了我刚刚遇到的事情:

如果使用cntlm或其他本地身份验证代理,则可能需要指定环回IP地址而不是“localhost”。我发现“localhost”默默地失败了,但“127.0.0.1”起了作用。

答案 4 :(得分:2)

ELPA使用“url”包。据我所知,没有办法用它进行代理身份验证。

您可以在Emacs之外设置代理身份验证吗?