С отправкой методом GET всё понятно, достаточно просто вот такого финта:
- <?php file_get_contents(‘http://php.name/?s=2&j=1&o=4′); ?>
Собственно, данные POST от данных GET мало чем отличаются. Если говорить очень простым языком, то “get – вот он”, а “post – где-то там”. Но суть не меняется, оба метода – обыкновенные строки с параметрами, разделенными знаком “&”.
Итак, существует несколько методов отправки POST данных на PHP. Один из них – сокеты. Но я очень не люблю сокеты, поэтому покажу как это реализуется с помощью библиотеки cURL.
- <?php
- $url = ‘http://php.name/'; //УРЛ, которому будут передаваться post данные
- /*
- Небольшая прелюдия, думаю, тут всё понятно.
- */
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_URL,$url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
- curl_setopt($ch, CURLOPT_USERAGENT, «Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)»);
- curl_setopt($ch, CURLOPT_POST,1); //Вот оно!
- /*
- И вот, в 3 параметре функции передается строка post данных.
- Как видите, она почти ничем не отличается от get — той,
- что в адресно строке браузера, только знака вопроса нет в начале
- */
- curl_setopt($ch, CURLOPT_POSTFIELDS,»s=1&d=2&z=3&q=3″);
- $html = curl_exec($ch); //В этой переменной будет содержаться ответ сервера
- curl_close($ch);
- ?>
Как видите, мы отправили на адрес http://php.name/ некоторые данные, теперь серверный скрипт должен обработать их как:
$_POST['s'] = 1;
$_POST['d'] = 2;
$_POST['z'] = 3;
$_POST['q'] = 3;
Вот вроде и все.