我有一個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. PHP表單提交
- 5. 表單使用php提交安全性
- 6. 自動php表單提交使用javascript
- 7. 使用php和ajax提交表單
- 8. PHP - 使用HTML標記提交表單
- 9. 使用AJAX提交表單到php api
- 10. PHP如何使用ajax表單提交
- 11. PHP jQuery Ajax表單提交使用FormData
- 12. 使用Ajax,PHP和jQuery提交表單
- 13. PHP Codeigniter表單提交使用JQuery
- 14. 使用Ajax和php提交表單
- 15. 試圖使用jquery提交php表單
- 16. 如何使用PHP提交表單?
- 17. PHP $ _POST表單提交後提交$ _GET
- 18. 無法使用PHP提交表單正確提交
- 19. 使用php和jquery提交AJAX表單提交
- 20. 當使用ajax和php提交表單提交時驗證captcha
- 21. 使用提交表單提交?
- 22. 使用JSP提交表單提交
- 23. 使用PHP提交表格
- 24. PHP提交表單問題
- 25. Yii php表單提交
- 26. 提交表單,MySQL和PHP
- 27. HTML表單提交到PHP
- 28. php表單提交錯誤
- 29. PHP表單提交分類
- 30. 提交一個php表單?
你已經設置了curl_setopt($ ch,CURLOPT_POST,true);兩次。 – luiscubal 2009-10-29 12:19:03