Jes*_*wak 4 lisp post network-programming http racket
我试图通过在Racket中的http/post发送一个字符串,这是我在阅读Racket HTTP客户端文档后到目前为止所尝试的
#lang racket
(require net/http-client)
(define
myUrl "https://something.com")
(http-conn-send!
(http-conn-open
myUrl
#:ssl? #t)
#:version "1.1"
#:method "POST"
#:data "Hello")
Run Code Online (Sandbox Code Playgroud)
但是有了这个,我收到以下错误:
tcp-connect: connection failed
detail: host not found
address: https://www.w3.org/
port number: 443
step: 1
system error: nodename nor servname provided, or not known; errno=8
Run Code Online (Sandbox Code Playgroud)
我尝试了几个不同的地址.
我是新手一般的编程和编程,无法弄清楚我错过了什么.
在您的示例中,主机名只是www.w3.org部分 - 不包括方案(http或https),也不包括任何路径.例如,这确实有效:
(http-conn-open "www.w3.com"
#:ssl? #t)
Run Code Online (Sandbox Code Playgroud)
要发布帖子请求,您可以这样做:
#lang racket
(require net/http-client)
(define-values (status headers in)
(http-sendrecv "www.w3.com"
"/"
#:ssl? #t
#:version "1.1"
#:method "POST"
#:data "Hello"))
(displayln status)
(displayln headers)
(displayln (port->string in))
(close-input-port in)
Run Code Online (Sandbox Code Playgroud)
在Racket中,函数可以返回多个值.http-sendrecv返回三,define-values并将每一个赋值给一个变量.
net/http-client 提供其他功能,让您与主机建立连接,在该连接上发出多个请求,然后关闭连接.
| 归档时间: |
|
| 查看次数: |
1354 次 |
| 最近记录: |