当我尝试通过脚本传递POST变量时,为什么我没有收到回复?

时间:2015-04-12 21:59:25

标签: php autohotkey

我设置了一个测试网页,我试图将信息传递给(为了引起一个动作),但是当我尝试它时,没有任何反应。当我在Web浏览器中运行它时,我从else条件获得输出,然后像我预期的那样获得单词DONE。为什么我的AHK脚本没有从if条件返回数据?

test.php的

<?php
echo $_POST['userMe'].$_POST['passME'];
if(isset($_POST['userMe']))
{
    echo "user value was passed by POST var when page was loaded. Do action.....this is what I expect to happen";
}   
else
{
    echo "no user provided by POST var";
}   
echo '<br>DONE';
?>

web_request.ahk

#include httpQuery.ahk
#noenv
#SingleInstance force
html     := ""
URL      := "http://MY_IP_HERE/test.php"
POSTData := "userME=hello&passME=bye"

length := httpQuery(html,URL,POSTdata)
varSetCapacity(html,-1)

Gui,Add,Edit,w600 +Wrap r25,% html
Gui,Show
Return

GuiClose:
GuiEscape:
   ExitApp

1 个答案:

答案 0 :(得分:0)

httpquery只在某些时候起作用。我的建议,使用内置的WinHttpRequest对象。需要最新版本的AHK。此外,您似乎想要传递URL参数而不是发布数据。

param := "hello"
msgbox, % url_tovar("http://fischgeek.com/playground/dbfree-test/?q=" param)

url_tovar(URL) { 
    WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
    WebRequest.Open("GET", URL)
    WebRequest.Send()
    res := WebRequest.ResponseText
    return res
}

这也可以处理发布数据。如果你有兴趣,我将不得不花点时间提供一个例子。