你如何在诡计中使用(网络客户端)将响应数据作为字符串获取?
How do you get the response data as string using (web client) in guile?
我正在尝试使用此处找到的文档将响应数据作为字符串获取 https://www.gnu.org/software/guile/manual/html_node/Web-Client.html。
文档提到 http 请求:
Returns two values: the response read from the server, and the response body as a string, bytevector, #f value, or as a port ....
但是,我不清楚如何实际提取字符串值。我可以获得端口,但不是文档中提到的纯字符串。
(define response
(http-request (string-append "http://localhost:" port "/save")
#:method 'POST
#:headers '((Content-Type . "application/json"))
#:streaming? #f
#:decode-body? #t
#:body (string->utf8 body)))
(response-body-port response)
Guile (Scheme) 中多值的概念在其他编程语言中并不常见(超前 :p)。
您指出有两个 return 值。所以让我们得到这两个值。您可以在此处阅读更多详细信息:https://www.gnu.org/software/guile/manual/guile.html#Multiple-Values
同时,这是我使用 Guile 参考示例测试的内容:
(use-modules (web client))
(use-modules (ice-9 receive))
(receive (response-status response-body)
(http-request "http://www.gnu.org")
(display response-body))
我给了两个 "formal arguments" 给 receive
来绑定到 http-request
的两个 return 值。但我只使用第二个,又名 response-body
(作为要显示的字符串),因为它是您要查找的那个。
希望对您有所帮助!
P.S:Guile 黑客在 Guile mailing list 中比在 Whosebug 上更活跃。我在看,但我不是你最好的资产哈哈。
祝黑客愉快!
我正在尝试使用此处找到的文档将响应数据作为字符串获取 https://www.gnu.org/software/guile/manual/html_node/Web-Client.html。
文档提到 http 请求:
Returns two values: the response read from the server, and the response body as a string, bytevector, #f value, or as a port ....
但是,我不清楚如何实际提取字符串值。我可以获得端口,但不是文档中提到的纯字符串。
(define response
(http-request (string-append "http://localhost:" port "/save")
#:method 'POST
#:headers '((Content-Type . "application/json"))
#:streaming? #f
#:decode-body? #t
#:body (string->utf8 body)))
(response-body-port response)
Guile (Scheme) 中多值的概念在其他编程语言中并不常见(超前 :p)。
您指出有两个 return 值。所以让我们得到这两个值。您可以在此处阅读更多详细信息:https://www.gnu.org/software/guile/manual/guile.html#Multiple-Values
同时,这是我使用 Guile 参考示例测试的内容:
(use-modules (web client))
(use-modules (ice-9 receive))
(receive (response-status response-body)
(http-request "http://www.gnu.org")
(display response-body))
我给了两个 "formal arguments" 给 receive
来绑定到 http-request
的两个 return 值。但我只使用第二个,又名 response-body
(作为要显示的字符串),因为它是您要查找的那个。
希望对您有所帮助!
P.S:Guile 黑客在 Guile mailing list 中比在 Whosebug 上更活跃。我在看,但我不是你最好的资产哈哈。
祝黑客愉快!