问题标签 [drakma]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1791 浏览

url - 在 Common Lisp 中对字符串进行 URL 解码

我有一个包含转义 URL 的字符串:

我正在尝试将其解码为以下内容:

但是,我找不到 Drakma 导出的任何合适的函数。我可以这样编码:

...所以我认为我在正确的轨道上。如果有人可以在正确的方向上提供帮助,我将不胜感激:-) 我使用的是 SBCL 1.0.54,它是从 64 位 Linux Mint 13 上的源代码构建的。

如果它有助于澄清我正在尝试做的事情,在 Ruby 中,我会执行以下操作:

0 投票
1 回答
303 浏览

common-lisp - PURI:URI 如何获取表示的实际字符串

Drakma返回一个PURI:URI对象作为第四个返回值。但我想提取实际的字符串而不是弄乱对象。

puri:uri-string直接访问相应插槽的访问器的名称是什么,在包中不公开,并且文档存在

任何有使用该软件包的经验的人?

目前我正在(FORMAT nil "~a" URI)用作快速修复,但这不是作者的意图。

0 投票
0 回答
417 浏览

common-lisp - drakma:http-request 在使用 burp 作为代理时在 https 请求期间崩溃

我想通过使用 burp-suites 作为自动代理来研究 drakma 的一些传出流量。

但是当发出 https 请求 drakma 信号(更准确地说是 cl+ssl drakma 使用)时会崩溃:

=>

我想知道这个错误是什么意思(因为我找不到 cl+ssl 的正确文档)以及如何修复/防止这种情况发生?

0 投票
1 回答
2338 浏览

json - 使用 drakma:http-request POST JSON 数据

我正在尝试使用drakma将一些 JSON 数据发布到 Web 服务。

不幸的是,我收到了一个错误,尽管我认为数据似乎可以正确编码为 JSON 以及 drakma 生成的标头。显然有问题:content(错误消息中的整数列表只是 JSON 编码数据的 ASCII 代码列表)。

知道这段代码有什么问题吗?提前谢谢了。

0 投票
2 回答
403 浏览

common-lisp - 如何使 drakma 能够处理 URL 中的非 latin-1 字符

我遇到了由使用 sbcl 在给定 url 中使用的非拉丁 1 字符引起的错误,例如:

显然,标头被定义为由RFC2616以 Latin-1 格式发送(这是我在遇到此错误后在 github 上打开的票证),因此 URL 在传递给 drakma 之前必须正确编码。但我不知道怎么做,因为显然不可能(因为它不是 LATIN-1 字符)这样做?

我的示例的工作调用是什么(除了 URL 是伪造的并且可以缩短为http://www.youtube.com的事实)?

0 投票
1 回答
256 浏览

lisp - 获取 HTTP 标头作为 alist

我想使用 drakma 获取 HTTP 请求的重定向 url。如果我传入“ http://lisp.org/ ”,我想要返回“ http://lisp.org/index.html ”。查看文档,看起来我希望将标题作为 alist,并且drakma:http-request应该给我一个 alist。

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

当我运行时,drakma:http-request我会收到消息正文,如果我这样做,则会显示标题(setf drakma:*header-stream* *standard-output*)。在以可用形式获取标题时,我迷失了。

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

0 投票
1 回答
141 浏览

asynchronous - drakma-async 和 cl-async 的不可预测行为

我正在尝试drakma-async在我的小项目中使用。但我就是不明白发生了什么。(我使用 emacs + slime + ccl)。我需要使用 http(s) 获取数据并在回调中解析它。我假设我可以得到无法解析的错误数据,所以我想重试。但是当我尝试进行一些测试时,我就是无法理解发生了什么......

1)所以我将这就是我的简单示例(这就是我计划的)

2)这是我在第二次测试中得到的:

我的调试器和重启在哪里?

3)取消注释中的;(prin1 (asf:future...))drakma-test

没有完成/未完成的布尔,没有数据没有打印,我没有重新启动,我只是得到1结果。

4)我假设如果我写(let ((reponse (das:http-request "http://www.google.com"))) ... ) instad(asf:alet ...)response不包含future对象,但会阻塞直到请求完成并且response将包含数据。

5)取消注释中的;(prin1 (asf:future...))drakma-test-let

没有打印数据,只是没有完成和运行测试的结果。

我已经为 cl-async 运行了测试,除了 ipv6 测试之外,它们都通过了。所以我只是不知道从哪里开始了解发生了什么......为什么我没有调试器并在第二次测试中重新启动?为什么在第三次测试中没有任何反应(它与第二次相同,但使用 prin1)。为什么第 5 次和第 5 次测试没有任何反应?

PS 没有足够的声誉来创建drakma-asynccl-async标记此库。我知道这drakma-async是建立的,drakma所以我放了这个标签。

0 投票
1 回答
218 浏览

web-services - 如何使用 Common Lisp 通过 XSD 调用 Web 服务?

我到处搜索使用 Common Lisp 库(如 Drakma)调用 RESTful Web 服务的示例,但我发现的只是对第三方服务的特定 API 调用。Drakma 站点没有说明如何将模式与 http 服务调用一起使用。

如果我有一个架构/XSD 和一个我想调用的 RESTful Web 服务的 URL,是否有关于如何开始调用该服务以及响应是什么样子的快速教程?

0 投票
0 回答
146 浏览

common-lisp - 如何使用 drakma 的碎片输出实现超时

Drakma 目前不支持SBCL 的超时,但我需要一个超时来返回传输到超时发生的时间点的内容。

这是我目前的工作尝试,但可能非常适合 thedailywtf 而不是生产代码:

这种尝试确实有一些严重的缺陷:

  • 该方法的运行时间不能短于给定的超时时间
  • 使用带有超时的 hack 从 while-true 循环返回并混蛋restart-case以获得适当的返回值只是感觉不对
  • 流的逐字符读取会导致 CPU 上的大量负载(而不是等待加载完成然后进行批量读取)

如何正确读取 drakma 流直到某个超时(或 EOF),然后返回读取的字符串?

0 投票
1 回答
224 浏览

lisp - 将 Drakma 用于 Bing 搜索 API Common Lisp 时出错

我正在构建一个程序,该程序使用 Bing 的搜索 API 和带有 Drakma 库的通用 lisp 来显示一些结果,但由于某种原因,在发送较长长度的查询时出现错误它根本不显示任何结果。它适用于较短长度的查询。我正在为这个问题使用临时帐户。我有以下代码。

然后我称之为,但它只适用于简短的搜索词,我不知道为什么。这不起作用:

但这确实

知道为什么吗?

谢谢。

编辑:

我尝试手动对 print-bing 函数进行编码,而不是使用带有更长字符串的函数,但它仍然无法正常工作,因此 Drakma 一定有错误。我尝试手动将域输入到 Web 浏览器中,它可以正常工作,这就是为什么我认为 Drakma 出现错误的原因。