我有一个POST方法的提交表单,我想写一个脚本,可以自动提交这个表单,我之所以需要这个是为了测试目的。我很少需要大量数据来测试基于这些表单域的搜索,而且我没有时间去做这件事。这可能吗?使用PHP提交表单
回答
您可以使用卷曲来模拟表单提交。
// create a new cURL resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/script.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, true); //enable POST method
// prepare POST data
$post_data = array('name1' => 'value1', 'name2' => 'value2', 'name3' => 'value3');
// pass the POST data
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
// grab URL and pass it to the browser
curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);
让PHP用数据填写表单并打印出一个发布表单的Javascript,PHP不能发布它自己的表单。
为什么选择投票?他明确要求脚本来发布form_,这是PHP无法完成的。 – 2009-10-29 12:16:11
任何降低压力的原因可能都是因为你说PHP不能做用户所要求的事情,但它有一些能够完成问题的库,正如其他答案指出的那样。我建议,如果你不想降价,可以修改你的答案或删除它。 – PTBNL 2009-10-29 13:21:24
好吧,不。如果我错了,我不在乎是否我会得到低估,但是PHP库(如Snoopy)所做的只是将POST数据发布到指定的PHP文档。这与发布表单不一样......据我了解,他最初的问题是提交HTML表单,而不是简单地将数据发布到页面。 – 2009-10-29 15:24:31
您可以使用php.net/curl通过PHP发送POST请求。
如果你不舒服使用curl您可以使用PHP库调用snoopy模拟Web浏览器。它可以自动完成检索网页内容和发布表单的任务。
<?php
/* load the snoopy class and initialize the object */
require('../includes/Snoopy.class.php');
$snoopy = new Snoopy();
/* set some values */
$p_data['color'] = 'Red';
$p_data['fruit'] = 'apple';
$snoopy->cookies['vegetable'] = 'carrot';
$snoopy->cookies['something'] = 'value';
/* submit the data and get the result */
$snoopy->submit('http://phpstarter.net/samples/118/data_dump.php', $p_data);
/* output the results */
echo '<pre>' . htmlspecialchars($snoopy->results) . '</pre>';
?>
可能是最好的解决方案,一旦不是每个Web服务器都支持CURL。谢谢你的提示。 – 2011-02-15 16:52:18
- 1. 用PHP提交表单
- 2. PHP - 提交表单
- 3. PHP表单提交
- 4. 使用Ajax,PHP和jQuery提交表单
- 5. 自动php表单提交使用javascript
- 6. 使用Ajax和php提交表单
- 7. 如何使用PHP提交表单?
- 8. 使用AJAX提交表单到php api
- 9. PHP Codeigniter表单提交使用JQuery
- 10. 表单使用php提交安全性
- 11. 无法使用PHP提交表单正确提交
- 12. 使用提交表单提交?
- 13. PHP/HTML表单提交
- 14. php表单提交utf8?
- 15. PHP jQuery表单提交
- 16. 表单不提交HTML php
- 17. 提交一个php表单?
- 18. 防止表单提交PHP
- 19. PHP表单提交刷新
- 20. PHP向SugarCRM提交表单
- 21. 显示提交PHP表单
- 22. jQuery提交表单和php
- 23. php表单提交错误
- 24. 表单提交到PHP
- 25. PHP表单不会提交
- 26. 提交PHP验证表单
- 27. 使用pjax提交表单
- 28. 使用facebox提交表单
- 29. 使用jquery提交表单
- 30. 使用urllib提交表单
你已经设置了curl_setopt($ ch,CURLOPT_POST,true);两次。 – luiscubal 2009-10-29 12:19:03