有一个小代码应该向网站发送请求并收到回复。我只懂语言而不懂如何去做。 以下是使用http get方法发送请求的代码段。
#!/usr/bin/expect
set id [open file.txt w]
set tok [::http::geturl "https://example.com/reques.php?=somedate -timeout 2000 -channel $id]
::http::cleanup $tok
close $id
set id [open file.txt]
set phone [read $id]
close $id
puts $phone
但是在执行代码时,我收到错误
invalid command name "http::geturl"
while executing
答案 0 :(得分:1)
http包需要加载到你的Tcl解释器中;它默认不存在。因此,在脚本的顶部(正好在#!
行的下方)放置:
package require http
事实上,通常一个好主意是通过这种方式陈述您所依赖的每个包,因为它可以很容易地看到正在发生的一切(并且您可以选择说明您期望的版本):
#!/usr/bin/expect
# At least Tcl 8.5; 8.6 will be fine too
package require Tcl 8.5
# Any version of Expect
package require Expect
# Any version of the http package that supports the v2 API
package require http 2
包名称区分大小写。你可以
答案 1 :(得分:0)
我在Naviserver中对TCL使用了以下命令。 我没有帮助,但这就是在AJAX调用中对我有用的方法。
ns_return 200 application/json $your_response_content
语法:ns_return ?-binary? status mime-type body