Как можно отправить данные с помощью PHP? - PullRequest
0 голосов
/ 22 декабря 2011

Мне нужно отправить данные HTTP POST на веб-страницу.Мой хост отсутствует некоторые расширения (я не уверен, какие из них).Я пробовал cURL и fopen, но ни один из них не работает.

Какие есть другие способы отправки данных?

Редактировать: Кстати, я также могу отправлять данные $ _GET.Так что, пока я могу открыть URL (например, file_get_contents), это работает.

Ответы [ 2 ]

1 голос
/ 22 декабря 2011

Оформление очень мощных функций потока PHP .

Однако, если функции file / stream и cURL отключены - сделайте их на внешнем интерфейсе, используя запросы AJAX. jQuery хорош в этом , если данные не являются конфиденциальными.

Я создал целую систему блогов , используя только запросы jQuery JSONP на внешнем интерфейсе, поскольку я хотел перенести нагрузку на пользователя вместо моего сервера.

0 голосов
/ 22 декабря 2011

Это может сработать.Контекст на самом деле не нужен, но позволяет вам установить пользовательское время ожидания и пользовательский агент.

/* Set up array with options for the context used by file_get_contents(). */
$opts = array(
  'http'=>array(
    'method'  => 'GET',
    'timeout' => 4,
    'header'  => "Accept-language: en\r\n" .
                 "User-Agent: Some UA\r\n"
  )
);

/* Create context. */
$context = stream_context_create($opts);

/* Make the request */
$response = @file_get_contents('http://example.com/?foo=bar', null, $context);

if($response === false) {
  /* Could not make request. */
}

Вы можете использовать http_build_query () для построения строки запроса из массива.

...