Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 如何在Emacs中检索需要身份验证的网页,can';无法获取url.el进行身份验证_Http_Authentication_Url_Emacs - Fatal编程技术网

Http 如何在Emacs中检索需要身份验证的网页,can';无法获取url.el进行身份验证

Http 如何在Emacs中检索需要身份验证的网页,can';无法获取url.el进行身份验证,http,authentication,url,emacs,Http,Authentication,Url,Emacs,我正在使用以下代码: (defvar xyz-user-name "LOGIN") (defvar xyz-password "PASS") (defvar site "http://www.site.com/") (defvar xyz-block-authorisation nil "Flag whether to block url.el's usual interactive authorisation procedure") (defadvice url-http-handle-au

我正在使用以下代码:

(defvar xyz-user-name "LOGIN")
(defvar xyz-password "PASS")
(defvar site "http://www.site.com/")
(defvar xyz-block-authorisation nil 
"Flag whether to block url.el's usual interactive authorisation procedure")
(defadvice url-http-handle-authentication (around xyz-fix)
(unless xyz-block-authorisation
  ad-do-it))
(ad-activate 'url-http-handle-authentication)
(defun login-show-posts ()
   (interactive)
   (let ((xyz-block-authorisation t)
         (url-request-method "GET")
         (url-request-extra-headers 
                      `(("Authorization" . ,(concat "Basic "
                                (base64-encode-string
                                 (concat xyz-user-name ":" xyz-password)))))))
     (url-retrieve site 
                   (lambda (status)
                   (switch-to-buffer (current-buffer))))))
但是我只是在没有身份验证的情况下获取网页文本,即它没有身份验证。我怎样才能使它认证。我一直在绞尽脑汁,阅读url请求额外标题上的所有内容,但无法完成

有人吗

谢谢
JJ

我觉得这个不错。a) 您确定它没有发送授权(服务器可能不理解基本身份验证,或者在该页面不接受授权,希望通过登录页面设置cookie)b)您使用的是哪个版本或url.el?(我听说用户在使用旧版本的url.el时对我的身份验证代码有问题)——您是否尝试过简单的curl-fetch,以查看事情是否如您所期望的那样工作?可能就是这样,我正在编写emacs代码以启用对网页的监视。我有它的工作,为非授权网页,并希望在功能中添加认证网页。主要用于论坛,也就是说,您可以使用它来监视已更改的页面,但为此,您需要下载经过验证的页面。可能是我尝试过的使用cookies进行身份验证的论坛,尽管它在每个页面上都有一个登录和传递框。接下来有两个问题:如何确定它是否支持auth?有没有办法让url.el使用预设cookie工作?我使用的是Emacs的最新bzr签出,所以url.el应该是我认为url.el最晚为您处理cookie的。也就是说,进行正确的登录页面舞蹈以获取cookies,然后检索您感兴趣的实际页面。关于受支持的auth方法:我建议您尝试使用curl或wget获取您想要的页面(添加适当的详细标志以查看发送、重定向等内容)。如果可以的话,你应该能够用elisp代码来反映这一点。使用登录页面舞蹈,你的意思是:如果登录方法是通过cookies,每次我都希望通过url.el检索页面,然后让代码首先在登录页面中输入登录详细信息,然后在下一步检索所需页面?如何为连续的lisp代码步骤保存cookie,即在通过url.el发布以输入登录数据后,在请求页面时,cookie保存在哪里,以便url.el在代码的后续步骤中使用if?我觉得这很好。a) 您确定它没有发送授权(服务器可能不理解基本身份验证,或者在该页面不接受授权,希望通过登录页面设置cookie)b)您使用的是哪个版本或url.el?(我听说用户在使用旧版本的url.el时对我的身份验证代码有问题)——您是否尝试过简单的curl-fetch,以查看事情是否如您所期望的那样工作?可能就是这样,我正在编写emacs代码以启用对网页的监视。我有它的工作,为非授权网页,并希望在功能中添加认证网页。主要用于论坛,也就是说,您可以使用它来监视已更改的页面,但为此,您需要下载经过验证的页面。可能是我尝试过的使用cookies进行身份验证的论坛,尽管它在每个页面上都有一个登录和传递框。接下来有两个问题:如何确定它是否支持auth?有没有办法让url.el使用预设cookie工作?我使用的是Emacs的最新bzr签出,所以url.el应该是我认为url.el最晚为您处理cookie的。也就是说,进行正确的登录页面舞蹈以获取cookies,然后检索您感兴趣的实际页面。关于受支持的auth方法:我建议您尝试使用curl或wget获取您想要的页面(添加适当的详细标志以查看发送、重定向等内容)。如果可以的话,你应该能够用elisp代码来反映这一点。使用登录页面舞蹈,你的意思是:如果登录方法是通过cookies,每次我都希望通过url.el检索页面,然后让代码首先在登录页面中输入登录详细信息,然后在下一步检索所需页面?如何为连续的lisp代码步骤保存cookie,即在通过url.el发布以输入登录数据后,在哪里保存cookie,以便url.el在请求页面时在代码的后续步骤中使用if?