gpt4 book ai didi

common-lisp - 如何使 drakma 处理 URL 中的非拉丁 1 字符

转载 作者:行者123 更新时间:2023-12-04 02:54:51 25 4
gpt4 key购买 nike

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

(drakma:http-request "http://www.youtube.com/„weird-url")

debugger invoked on a FLEXI-STREAMS:EXTERNAL-FORMAT-ENCODING-ERROR in thread
#<THREAD "initial thread" RUNNING {1002998D23}>:
#\DOUBLE_LOW-9_QUOTATION_MARK (code 8222) is not a LATIN-1 character.

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.

(FLEXI-STREAMS::SIGNAL-ENCODING-ERROR
#<FLEXI-STREAMS::FLEXI-LATIN-1-FORMAT (:ISO-8859-1 :EOL-STYLE :LF)
{1002F196E3}>
"~S (code ~A) is not a LATIN-1 character."
#\DOUBLE_LOW-9_QUOTATION_MARK
8222)

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

我的示例的工作调用是什么(除了 URL 是伪造的并且可以缩短为 http://www.youtube.com )?
(drakma:http-request (magic-encoding-function "http://www.youtube.com/„weird-url"))

最佳答案

这个问题与 DRAKMA 无关。这是普里的错。我使用我的 PURI 叉:https://github.com/archimag/puri-unicode .

关于common-lisp - 如何使 drakma 处理 URL 中的非拉丁 1 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16883439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com