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

Ped*_*olo 12 emacs proxy http elpa

还有另一个问题可以解决这个问题,虽然它没有指明任何有关代理身份验证的内容

它的解决方案是

(setq url-proxy-services '(("no_proxy" . "work\\.com")
                           ("http" . "proxy.work.com:911")))
Run Code Online (Sandbox Code Playgroud)

Ped*_*olo 12

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


gav*_*koa 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")))))
Run Code Online (Sandbox Code Playgroud)

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

替换LOGINPASSWORD使用您的身份信息...


All*_*len 6

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

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

例如,看看Proxytunnel.

更新:迈克霍斯似乎在他添加到上述问题的评论中是正确的.URL包将询问ID和密码.至少这是我在文件url-http.el中的url-http-create-request的defun中看到的.

  • 如今我总是使用CNTLM来解决这类问题. (2认同)