我正在尝试使用tclcurl与Web服务进行交互。但是,我无法使用标头构建一个post请求(相当于命令行中的-H
)。
我无法提供示例代码,因为我使用的端点不公开。
我这样做:
set curlHandle [curl::init]
$curlHandle configure -url $url -bodyvar html -post 1 -postfields $data -header "header1: value1" -header "header2: value2"
抱怨-header
不被视为选项,它应该在选项列表中,标题就在其中。
答案 0 :(得分:0)
阅读您链接到的wiki页面,我发现您应该提供自定义标题的方式(可能)有点不同。我猜你应该为-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的网络服务电话;标准的Tcl http
包非常强大,尽管它是纯Tcl代码......