首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将HTTP报头作为列表获取

将HTTP报头作为列表获取
EN

Stack Overflow用户
提问于 2013-11-26 14:06:45
回答 1查看 297关注 0票数 0

我希望使用drakma获得HTTP请求的重定向url。如果我通过"http://lisp.org/",我想要回"http://lisp.org/index.html“。看一下这些文档,看起来我想要标题作为一个作者,而drakma:http-request应该给我一个作者。

该函数返回七个值--回复正文(但请参见下文)、状态代码作为整数、服务器发送的标头列表,其中,对于每个元素,car (标头的名称)为关键字,cdr (标头的值)为字符串.

当我运行drakma:http-request时,我会得到消息正文,如果我执行(setf drakma:*header-stream* *standard-output*),就会显示标题。当涉及到如何以可用的形式获取标头时,我迷失了方向。

编辑:获得“http://lisp.org/”的重定向url:

代码语言:javascript
复制
(nth-value 3 (drakma:http-request "http://lisp.org/"))
Result: #<PURI:URI http://lisp.org/index.html>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-26 16:17:34

在Common中返回多个值的函数需要特殊的语法来访问第一个值以外的值;这是一种简便的方法,一方面允许简单的函数调用琐碎地返回“最明显的东西”,另一方面也为需要它的调用者提供更多的信息。

HTTP-REQUEST的情况下,报头列表是返回的第三个值,因此可以访问:

代码语言:javascript
复制
CL-USER> (nth-value 2 (drakma:http-request "http://lisp.org"))
((:DATE . "Tue, 26 Nov 2013 16:00:41 GMT") (:CONNECTION . "Close")
 (:SERVER . "AllegroServe/1.2.65") (:CONTENT-TYPE . "text/html")
 (:CONTENT-LENGTH . "459") (:LAST-MODIFIED . "Wed, 26 Oct 2011 02:26:26 GMT"))

有关NTH-VALUE和处理多个值所涉及的其他构造的详细信息,请参阅通用Lisp语言7.10.1节

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20219289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档