- UID
- 77
- 精华
- 积分
- 9486
- 威望
- 点
- 宅币
- 个
- 贡献
- 次
- 宅之契约
- 份
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
首先把以下代码保存到:C:\Apache24\htdocs\index.php。
它的功能很简单,先把三个数字相加并输出结果,然后把传入的三个数字保存到LOG文件。简单来说,就是个带历史纪录的网页加法计算器。- <?php
- $result = $_POST["v1"] + $_POST["v2"] + $_POST["v3"];
- echo "result = " . $result . "<br>\r\n";
- $now = getdate();
- if(is_dir("log") === false)
- {
- mkdir("log");
- }
- $fp = fopen("log\" . $now[0] . ".txt","w");
- fprintf($fp, "%s\r\n", $_POST["v1"]);
- fprintf($fp, "%s\r\n", $_POST["v2"]);
- fprintf($fp, "%s\r\n", $_POST["v3"]);
- fclose($fp);
- ?>
- <form method = "post" action="index.php" name="asd">
- <input type="text" name="v1" value="111"></input><br>
- <input type="text" name="v2" value="222"></input><br>
- <input type="text" name="v3" value="333"></input><br>
- <input type="submit" value="Submit">
- </form>
复制代码
直接测试很简单,打开任意浏览器,输入localhost并回车,就能看到效果了。而我的目的并不是用手动调用,而是使用程序来调用。
下面直接给出VBS和C语言程序调用的源码(本质上就是组HTTP请求报文,然后得到HTTP响应报文)。源码没有注释,如果不懂请查阅MSDN,毕竟这篇文章针对的不是纯小白,而是WINDOWS开发的老司机。
- sUrl = "http://localhost/index.php"
- sRequest = "v1=111&v2=222&v3=333"
- msgbox HTTPPost(sUrl, sRequest)
- Function HTTPPost(sUrl, sRequest)
- set oHTTP = CreateObject("Microsoft.XMLHTTP")
- oHTTP.open "POST", sUrl, false
- oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
- oHTTP.setRequestHeader "Content-Length", Len(sRequest)
- oHTTP.send sRequest
- HTTPPost = oHTTP.responseText
- End Function
复制代码 这两段程序得到的内容略有不同。VBS程序得到的内容只有网页的HTML代码,而C程序得到的内容还包括HTTP响应头。 |
|