tcl curl post 请求 headers
tcl curl post request with headers
我正在尝试使用 tclcurl 与 Web 服务进行交互。但是,我无法使用 header 构建 post 请求(相当于命令行中的 -H
)。
我无法提供示例代码,因为我使用的端点不是 public.
我是这样做的:
set curlHandle [curl::init]
$curlHandle configure -url $url -bodyvar html -post 1 -postfields $data -header "header1: value1" -header "header2: value2"
它抱怨 -header
未被识别为选项,它应该在选项列表中,header 就在其中。
阅读您链接到的 wiki 页面,我发现您提供自定义 headers 的方式(可能)有点不同。我猜你应该为 -httpheader
选项提供一个列表,像这样:
set curlHandle [curl::init]
set headers [list "header1: value1" "header2: value2"]
$curlHandle configure -url $url -bodyvar html -post 1 -postfields $data -httpheader $headers
诚然,这只是基于使用 curl::transfer
命令的示例,我还没有测试过,但我猜你的方法也会像这样工作。几乎所有 Tcl 包都倾向于以这种方式保持一致。
我从来不需要 curl
来调用我用 Tcl 完成的 Web 服务;尽管是纯 Tcl 代码,标准的 Tcl http
包还是相当有能力的……
我正在尝试使用 tclcurl 与 Web 服务进行交互。但是,我无法使用 header 构建 post 请求(相当于命令行中的 -H
)。
我无法提供示例代码,因为我使用的端点不是 public.
我是这样做的:
set curlHandle [curl::init]
$curlHandle configure -url $url -bodyvar html -post 1 -postfields $data -header "header1: value1" -header "header2: value2"
它抱怨 -header
未被识别为选项,它应该在选项列表中,header 就在其中。
阅读您链接到的 wiki 页面,我发现您提供自定义 headers 的方式(可能)有点不同。我猜你应该为 -httpheader
选项提供一个列表,像这样:
set curlHandle [curl::init]
set headers [list "header1: value1" "header2: value2"]
$curlHandle configure -url $url -bodyvar html -post 1 -postfields $data -httpheader $headers
诚然,这只是基于使用 curl::transfer
命令的示例,我还没有测试过,但我猜你的方法也会像这样工作。几乎所有 Tcl 包都倾向于以这种方式保持一致。
我从来不需要 curl
来调用我用 Tcl 完成的 Web 服务;尽管是纯 Tcl 代码,标准的 Tcl http
包还是相当有能力的……