Отправка формы с использованием PHP - PullRequest
1 голос
/ 29 октября 2009

У меня есть форма отправки с методом POST, я хочу написать скрипт, который может автоматически отправлять эту форму, причина, по которой мне это нужно, для целей тестирования. Мне нужно много данных за короткое время, чтобы протестировать поиск по этим полям формы, и у меня нет времени, чтобы это сделать вручную. Возможно ли это?

Ответы [ 4 ]

5 голосов
/ 29 октября 2009

Вы можете использовать curl для имитации отправки формы.

// 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);

* Источник: 1005 *http://php.net/manual/en/book.curl.php

2 голосов
/ 29 октября 2009

Если вам неудобно использовать curl, вы можете использовать php-библиотеку под названием snoopy , которая имитирует веб-браузер. Он автоматизирует задачу получения содержимого веб-страницы и размещения форм.

<code><?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) . '
'; ?>
0 голосов
/ 29 октября 2009

Вы можете использовать php.net/curl для отправки запросов POST с PHP.

0 голосов
/ 29 октября 2009

Пусть PHP заполнит форму данными и распечатает Javascript, который публикует форму, PHP не может опубликовать ее самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...