我有一個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