虽然它没有指定任何有关代理身份验证的内容,但another question可以解答这个问题。
其解决方案是
(setq url-proxy-services '(("no_proxy" . "work\\.com")
("http" . "proxy.work.com:911")))
答案 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版本中使用...
将LOGIN
和PASSWORD
替换为您的身份验证信息...
答案 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之外设置代理身份验证吗?