Tcl中使用http::geturl的文件上载问题包含http-2.9包
我正在使用http::geturl使用这些命令发布二进制文件Tcl中使用http::geturl的文件上载问题包含http-2.9包,http,tcl,Http,Tcl,我正在使用http::geturl使用这些命令发布二进制文件 set fid [open $filename RDONLY] fconfigure $fid -buffering full -encoding binary -translation binary ::http::geturl {http://10.39.51.221:11009/api/v1/sessions/1/ixnetwork/files?filename=test} \ -type application/oc
set fid [open $filename RDONLY]
fconfigure $fid -buffering full -encoding binary -translation binary
::http::geturl {http://10.39.51.221:11009/api/v1/sessions/1/ixnetwork/files?filename=test} \
-type application/octet-stream \
-querychannel $fid \
-binary true \
-headers {X-Api-Key 00000000000000000000000000000000 IxNetwork-Lib {IxNetwork tcl client v.IXTCLPROTOCOLVERSION} Host 10.39.51.221} \
-timeout 180000
此代码在使用http-2.8.9的Tcl-8.6.6上正常工作。
但是,当使用相同的代码针对具有不同http包(http-2.9)的相同Tcl-8.6.6时,客户端挂起;
我觉得这种行为的改变是由于
早期的-翻译仅设置为二进制(http-2.8.9)
而当前的-翻译也从套接字中拉出(http-2.9)
在http-2.9代码库中还原为(fconfigure$state(-querychannel)-blocking 1-translation binary
)时,相同的代码工作正常。
请建议对我的代码进行任何更改,以便同时针对http-2.8.6和http-2.9运行。看起来可能是个bug。我认为您必须先登录(这是一项反垃圾邮件措施),但在报告问题时可以使用假名登录。(在那里归档的原因是什么?它可以确保被正确的眼睛看到。)谢谢@DonalFellows我已经归档了一个问题,看起来可能是一个bug。我认为您必须先登录(这是一项反垃圾邮件措施),但在报告问题时可以使用假名登录。(在那里归档的原因是什么?它可以确保被正确的眼睛看到。)谢谢@DonalFellows我已经归档了一个问题
fconfigure $state(-querychannel) -blocking 1 -translation binary
lassign [fconfigure $sock -translation] trRead trWrite
fconfigure $state(-querychannel) -blocking 1 \
-translation [list $trRead binary]