当我使用Fiddler工具时,我可以获得HTTP POST正文响应,
HTTP/1.0 200 Ok
Server: xxxx TinyServer
MIME-version: 1.0
Cache-Control: no-store, no-cache;
Pragma: no-cache;
Set-Cookie: session=0000743A; path=/;
Content-Type: text/xml
Expires: -1
Content-Length: 3509
<column><column_oid>1.3.6.1.4.1.664.5.63.900.1.20.17.1.1.1</column_oid><oid_value_pairs><![CDATA[1.3.6.1.4.1.664.5.63.900.1.20.17.1.1.1.4822:......
MORE....
但是当我使用我的TCL脚本尝试相同的HTTP POST操作时,我收到错误消息
set token [::http::geturl \
"http://130.59.62.16/web/common/ajax/tcl/ajax_multi_get_xml.tcl" \
-query "" -headers [array get Headers]]
state(-keepalive) = 0
state(-protocol) = 1.1
state(-queryblocksize) = 8192
state(-queryprogress) =
state(-strict) = 1
state(-timeout) = 0
state(-type) = application/x-www-form-urlencoded
state(-validate) = 0
state(binary) = 0
state(body) = <hr>
<pre><b>Session Variables:</b>
</pre><pre><b>Global Variables:</b>
base_oid = ""
rstr = ""
<b>Local Variables:</b>
</pre><hr>
can't read "oidlist": no such variable<br><b>from /web/common/ajax/tcl/ajax_multi_get_xml.tcl:8:</b><pre>
1:
2: set rstr ""
3: if {[catch {set baseOID}] } {
4: set base_oid ""
5: } else {
6: set base_oid $baseOID
7: }
<font color=red> 8:
</font> 9: snmp_getmulti $oidlist value err $count $base_oid
10: echo -n "<rvals>$value</rvals>"
11: </pre>
使用Firefox Web Developer,当我移动所需的页面时,它显示我正在进行POST操作,请在下面的屏幕截图中找到。
这里我没有在我的POST操作中提交查询,所以我在我的geturl中保留了空白。这种类型的URL如何使用查询操作。
我在Fiddler工具和我的脚本之间错过了什么, 我可以使用Firefox Web Developer Console Window
进行查看答案 0 :(得分:0)
调试此方法的正确方法是
Fiddler将向您展示这两个请求的不同之处,因此您可以更新您的TCL脚本以发送正确的请求。