问题标签 [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.
url - 在 Common Lisp 中对字符串进行 URL 解码
我有一个包含转义 URL 的字符串:
我正在尝试将其解码为以下内容:
但是,我找不到 Drakma 导出的任何合适的函数。我可以这样编码:
...所以我认为我在正确的轨道上。如果有人可以在正确的方向上提供帮助,我将不胜感激:-) 我使用的是 SBCL 1.0.54,它是从 64 位 Linux Mint 13 上的源代码构建的。
如果它有助于澄清我正在尝试做的事情,在 Ruby 中,我会执行以下操作:
common-lisp - drakma:http-request 在使用 burp 作为代理时在 https 请求期间崩溃
我想通过使用 burp-suites 作为自动代理来研究 drakma 的一些传出流量。
但是当发出 https 请求 drakma 信号(更准确地说是 cl+ssl drakma 使用)时会崩溃:
=>
我想知道这个错误是什么意思(因为我找不到 cl+ssl 的正确文档)以及如何修复/防止这种情况发生?
json - 使用 drakma:http-request POST JSON 数据
我正在尝试使用drakma将一些 JSON 数据发布到 Web 服务。
不幸的是,我收到了一个错误,尽管我认为数据似乎可以正确编码为 JSON 以及 drakma 生成的标头。显然有问题:content
(错误消息中的整数列表只是 JSON 编码数据的 ASCII 代码列表)。
知道这段代码有什么问题吗?提前谢谢了。
common-lisp - 如何使 drakma 能够处理 URL 中的非 latin-1 字符
我遇到了由使用 sbcl 在给定 url 中使用的非拉丁 1 字符引起的错误,例如:
显然,标头被定义为由RFC2616以 Latin-1 格式发送(这是我在遇到此错误后在 github 上打开的票证),因此 URL 在传递给 drakma 之前必须正确编码。但我不知道怎么做,因为显然不可能(因为它不是 LATIN-1 字符)这样做?
我的示例的工作调用是什么(除了 URL 是伪造的并且可以缩短为http://www.youtube.com的事实)?
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/ ”的重定向网址:
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-async
或cl-async
标记此库。我知道这drakma-async
是建立的,drakma
所以我放了这个标签。
web-services - 如何使用 Common Lisp 通过 XSD 调用 Web 服务?
我到处搜索使用 Common Lisp 库(如 Drakma)调用 RESTful Web 服务的示例,但我发现的只是对第三方服务的特定 API 调用。Drakma 站点没有说明如何将模式与 http 服务调用一起使用。
如果我有一个架构/XSD 和一个我想调用的 RESTful Web 服务的 URL,是否有关于如何开始调用该服务以及响应是什么样子的快速教程?
common-lisp - 如何使用 drakma 的碎片输出实现超时
Drakma 目前不支持SBCL 的超时,但我需要一个超时来返回传输到超时发生的时间点的内容。
这是我目前的工作尝试,但可能非常适合 thedailywtf 而不是生产代码:
这种尝试确实有一些严重的缺陷:
- 该方法的运行时间不能短于给定的超时时间
- 使用带有超时的 hack 从 while-true 循环返回并混蛋
restart-case
以获得适当的返回值只是感觉不对 - 流的逐字符读取会导致 CPU 上的大量负载(而不是等待加载完成然后进行批量读取)
如何正确读取 drakma 流直到某个超时(或 EOF),然后返回读取的字符串?
lisp - 将 Drakma 用于 Bing 搜索 API Common Lisp 时出错
我正在构建一个程序,该程序使用 Bing 的搜索 API 和带有 Drakma 库的通用 lisp 来显示一些结果,但由于某种原因,在发送较长长度的查询时出现错误它根本不显示任何结果。它适用于较短长度的查询。我正在为这个问题使用临时帐户。我有以下代码。
然后我称之为,但它只适用于简短的搜索词,我不知道为什么。这不起作用:
但这确实
知道为什么吗?
谢谢。
编辑:
我尝试手动对 print-bing 函数进行编码,而不是使用带有更长字符串的函数,但它仍然无法正常工作,因此 Drakma 一定有错误。我尝试手动将域输入到 Web 浏览器中,它可以正常工作,这就是为什么我认为 Drakma 出现错误的原因。