如果程序需要用表单传递一些信息,主要有以下几种方法:
1,直接建立一个表单,然后输入数据,点击提交;
2,利用get方式,直接在url里加入相关参数;
3,使用php的curl扩展。
想要程序实现自动化提交,那第一种方法就不行了,不过可以稍作修改:
在页面尾端加入以下代码:
<script type="text/javascript">document.form.submit();</script>
注意form要与表单名字对应。这样,当输入此时表单的url,就会自动进行提交(这个默认值最好提前设置,可以有变量)。
第二种方法只适用于传输少量数据,并且变量没法用。
主要讲一下第三种:
curl方法及说明可以自行百度,其实这也是一种直接get方式的方法,只是这种可以在当前的php文件中加入需要使用的变量,并且可以直接传递汉字,空格,换行等(url中可不能直接包含空格什么的),这时就可以利用urlencode函数处理。说的可能不是很明白,直接贴程序吧
$html=urlencode($html);//html为所要传递的变量,这里是进行一下转码,这样就可以把空格什么都正常传递了,也不容易出现汉字的乱码
$p = empty($_GET['p']) ? '1111' : $_GET['p'];
$ch = curl_init();
$url="http://cn00.net/php.php?useid=1111&password=1111&sendid=".$p."&sendtext=".$html;
// 设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, "http://cn00.net/111.php?useid=111&password=did=".$p."&sendtext=".$html);
curl_setopt($ch, CURLOPT_HEADER, 0);
// 抓取URL并把它传递给浏览器
curl_exec($ch);
// 关闭cURL资源,并且释放系统资源
curl_close($ch);
其中$html是可能包含汉字,空格等内容的变量,进行urlencode的编码。
以后直接打开这个页面,就会自动将值传递到所需程序了。
其实最后效果和第一种用表单的基本一样,但我需要的是在linux shell下使用的,lynx等都不支持javascript,索性直接用curl了,这时第三种方法就比较可靠了。
好像HTTP_Client() ,socket等也可以,这些目前还没学。。。以后补充
相关文章228. 也许并没有想象中那么难。。。 (2011-11-27 18:28:4)
226. 怎么获取搜狗浏览器中自动保存的密码 (2011-11-6 20:58:22)
224. padding(补白属性)到底指的哪一部分 (2011-10-31 8:44:10)
223. javascript实现通过改变下拉列表/菜单,改变其他文本框的默认值 (2011-10-30 9:0:14)
222. asp使用md5加密密码及邮件通知,邮件改密码 (2011-10-26 19:24:0)
221. 一些常用的asp代码(文件) (2011-10-25 7:57:42)
220. asp删除数据库记录代码 (2011-10-24 7:49:55)
176. 技术是个好东西 (2010-5-22 23:31:9)
160. 如果你还年轻,希望你不要做站长,因为你会失去很多很多...... (2010-4-18 17:32:53)
136. 诸事不顺啊 (2010-3-25 20:36:27)
