PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
nkl
Отправлено: 23 Июня, 2014 - 01:25:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


Помог: 1 раз(а)




Стоит задача получения определенной инфы от определенного сервера посредством отправки ему определенных параметров в формате json.

Для начала решил попробовать у себя, пишу:
PHP:
скопировать код в буфер обмена
  1.  
  2. $params = array(
  3.          'el1' => 123456789,
  4.          'el2' => 'aasdas asd asdasd',
  5.          'el3' => 'asd asdasd as',
  6.          'el4' => 987654321
  7. );
  8. $json = json_encode($params);
  9. $ch = curl_init(WEB_PATH . '/json_test/');
  10. curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
  11. curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
  12.     'Content-Type: application/json',                                                                                
  13.     'Content-Length: ' . strlen($json))                                                                      
  14. );
  15. curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
  16. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  17.  

А вот собственно и сам файлик json_test.php который и получаю курлом:
PHP:
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html>
  3. <html>
  4.         <head>
  5.                 <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  6.                 <title>Line</title>
  7.         </head>
  8.         <body>
  9.         <?PHP
  10.         var_dump($_POST);
  11.         ?>
  12.         </body>
  13. </html>
  14.  

В результате курл возвращает следующее:
Цитата:

cURL info:
array(26) {
["url"]=> string(45) "http://***.***.**/json_test/"
["content_type"]=> NULL
["http_code"]=> int(0)
["header_size"]=> int(0)
["request_size"]=> int(0)
["filetime"]=> int(0)
["ssl_verify_result"]=> int(0)
["redirect_count"]=> int(0)
["total_time"]=> float(0)
["namelookup_time"]=> float(0)
["connect_time"]=> float(0)
["pretransfer_time"]=> float(0)
["size_upload"]=> float(0)
["size_download"]=> float(0)
["speed_download"]=> float(0)
["speed_upload"]=> float(0)
["download_content_length"]=> float(-1)
["upload_content_length"]=> float(-1)
["starttransfer_time"]=> float(0)
["redirect_time"]=> float(0)
["redirect_url"]=> string(0) ""
["primary_ip"]=> string(0) ""
["certinfo"]=> array(0) { }
["primary_port"]=> int(0)
["local_ip"]=> string(0) ""
["local_port"]=> int(0)
}
Result:
string(178) "<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Line</title>
</head>
<body>
array(0) { }
</body>
</html>"

Если же обычную форму в этот файл послать, то все нормально работает и$_POST содержит то что ему послали. Видимо что-то в конфиге моего cURL не то, а вот что именно, не могу понять. Пересмотрел уже кучу примеров в инете, все одно и тоже, разные заголовки ставил, без толку. Что я делаю не так?
Разнесу!
(Добавление)
Oh yeah, baby!!! Я что-то получил, json посредством:

Кому интересно, читаем тут http://php.net/manual/ru/reserve...prawpostdata.php
Ха-ха
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Если скрипт не работает »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB