|
|
|
| Подскажите как можно передать GET параметры серверу, способ нашел, но почему то не работает
файл server.php
print $_GET[test];
файл client.php
$request = "123";
$context = stream_context_create(array('http' => array(
'method' => "GET",
'header' => "Content-Type: text/xml",
'content' => http_build_query(array('test' => $request))
)));
$fp = fopen('http://test.net/server.php', 'r', false, $context);
fpassthru($fp);
fclose($fp);
|
Что не так, в коде ? Страница скачивается, но параметр не передается !? | |
|
|
|
|
|
|
|
для: trix
(25.06.2010 в 12:12)
| | Есть неплохой пример отправки POST запросов с помощю PHP. Для тестирования возьмем тестовый файл test.php.
test.php
<?php
echo 'Name:'.$_POST['name'],"<br>",
'Surname:'.$_POST['surname'];
?>
|
Выводим post-переменные name и surname, а между ними <br>.
context.php
<?php
//создаем строку запроса из данных в массиве
$post = http_build_query(
array(
'name'=>'Vasya',
'surname'=>'Pupkin'
)
);
//опции для создания контекста
$c_options = array(
//имя враппера - http
'http'=>array(
//метод - POST
'method'=>'POST',
//заголовки
'header'=>"Content-type: application/x-www-form-urlencoded\r\n".
"Content-length:".strlen($post),
//данные
'content'=>$post
)
);
//создаем контекст
$context = stream_context_create($c_options);
//читаем файл с контекстом
$res = file_get_contents('http://localhost/test.php',
false,$context);
//выводим результат
echo $res;
?>
|
Думаю, тут все ясно из комментариев. | |
|
|
|
|
|
|
|
для: trix
(25.06.2010 в 12:12)
| | GET-параметры запроса передаются не в теле сообщения, а в URI.
Независимо от того, GET.. это запрос, POST.. или вовсе даже HEAD
Сдается мне, аналогичный ответ здесь уже был дан. by Тень. | |
|
|
|