在tcl http中将默认的http标头请求设置为空

时间:2015-01-29 07:33:54

标签: http tcl

我想将Tcl http包中的默认http hrader设置为空,然后使用字典自行添加一些标题。我需要这样做,因为我在我的Tcl http请求标头中看到许多项目(如sock,binary,-binary,-strict,queryoffset等),这些项目在其他Web浏览器(如firefox)指定的标头中不存在。我在broswer得到了正确的回应,所以我想要那些由浏览器发送的加热器。为此,我需要将Tcl http包中的默认http标头设置为空,并手动设置标头(我可以这样做)。如何清空默认标题?

1 个答案:

答案 0 :(得分:1)

我不太确定您遇到问题的标头,但是大多数标头可以通过-headers选项轻松设置到http::geturl

# Easiest to build the option as a dictionary
dict set opts X-Example-Header "fruitbats are mammals and this is nonsense"
dict set opts DNT "1 (Do Not Track Enabled)"

http::geturl $theurl -headers $opts

几乎所有东西都可以通过这种方式设置或覆盖,而且通常与网络连接本身的管理相关的事情(例如保持活动管理,分块,压缩)可能最好留给首先,因为HTTP / 1.1是一个非常复杂的协议,因为它可能是无状态的。

请注意,http::geturl的选项不会直接转换为请求选项。这是一个更高级别的界面...