Tcl中使用http::geturl的文件上载问题包含http-2.9包

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

我正在使用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/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]