Есть две части:
- Получите значение
sid
. - Отправьте запрос на публикацию со значением
sid
и остальными данными.
Сначала мы получим sid
.Я не знаю достаточно о том, что происходит, когда вы запрашиваете форму, но если это просто случайное число, присваиваемое каждый раз, когда вы переходите на страницу, то вы можете получить страницу в своем php-скрипте и найти ее значение.Мы можем сделать это просто используя file_get_contents
и регулярное выражение:
$remote_site = file_get_contents("http://example.com/pl/Register.php");
if (preg_match('/name=\'sid\' value=\'(.+?)\'/', $remote_site, $match)) {
$sid = $match[1];
} else {
exit('failed to find sid');
}
Теперь нам просто нужно отправить запрос по почте, используя cURL.Вам нужно извлечь все данные из формы, которую вы хотите отправить.
Я предлагаю поместить их в ассоциативный массив:
$post_data = array(
'sid' => $sid,
'stage' => '...',
);
Я оставлю это на ваше усмотрение, чтобы заполнитьв остальном.
Для того, чтобы опубликовать его, вы хотите отправить запрос с помощью cURL, используя CURLOPT_POST
и CURLOPT_POSTFIELDS
следующим образом:
$ch = curl_init("http://example.com/pl/Register.php");
curl_setopt($ch, CURLOPT_POST, true); // tell cURL we are doing a post request
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); // we pass in our data as an array here
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // this stops the output from being printed directly
$response = curl_exec($ch);
Затем вы можете прочитать1028 * чтобы увидеть результаты запроса.*