Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: POST запрос средствами PHP

 PHP.SU

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


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

> Описание: POST запрос средствами PHP
Jmunb
Отправлено: 21 Января, 2012 - 11:53:25
Post Id


Новичок


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


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




Добрый день есть такой код написанный на jQuery:
CODE (javascript):
скопировать код в буфер обмена
  1. $.ajax({type:'POST',url:'http://host.ru/getresult.php',data:request,dataType:'json',traditional:true,error:function(){
  2.                 /*тут обработка ответа*/
  3. });

data - массив с параметрами, при отправке выглядит так
CODE (text):
скопировать код в буфер обмена
  1. "locale=ru&cityId=345&countryId=166775&departureDateMin=21.01.2012&departureDateMax=28.01.2012&nightsMin=7&nightsMax=15&adults=2&children=0&priceMin=0&priceMax=15000&currency=5561&findByPrice=true&tourId=9009296&tourId=9009296%2C169028&hotelClassId=9006279&hotelClassId=9006280&hotelClassId=9006281&feedId=9006288&feedId=9006289&hotelInStop=false&noTicketsTo=false&noTicketsFrom=false&version=2"

сам заголовок вот так:
"Accept application/json, text/javascript, */*
Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7
Accept-Encoding gzip, deflate
Accept-Language ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
Content-Length 393
Content-Type application/x-www-form-urlencoded; charset=UTF-8
Host ruban.pro
Referer http://ruban[dot]pro/turt/
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
X-Requested-With XMLHttpRequest"

надо переписать отправку на php пробовал 2-мя способаси.
1-й
PHP:
скопировать код в буфер обмена
  1.         }
  2.         'http' => array(
  3.             'method' => 'POST',
  4.             'header' => 'Accept application/json, text/javascript, */*' . PHP_EOL . 'Accept-Charset     windows-1251,utf-8;q=0.7,*;q=0.7' . PHP_EOL . 'Accept-Encoding  gzip, deflate' . PHP_EOL . 'Accept-Language     ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3' . PHP_EOL . 'Connection    keep-alive' . PHP_EOL . 'Content-Length 369' . PHP_EOL . 'Content-Type  application/x-www-form-urlencoded; charset=UTF-8' . PHP_EOL . 'Host     json.teztour.com' . PHP_EOL . 'Referer  http://json.teztour.com/static/ats/search_ru.html' . PHP_EOL . 'X-Requested-With        XMLHttpRequest' . PHP_EOL . 'Content-Type: text/javascript' . PHP_EOL,
  5.                         'user_agent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1' . PHP_EOL,
  6.             'content' => 'locale=ru&cityId=521&countryId=166775&departureDateMin=21.01.2012&departureDateMax=28.01.2012&nightsMin=7&nightsMax=15&adults=2&children=0&priceMin=0&priceMax=15000&currency=5561&findByPrice=true&tourId=9009296&hotelClassId=9006279&hotelClassId=9006280&hotelClassId=9006281&feedId=9006288&feedId=9006289&hotelInStop=false&noTicketsTo=false&noTicketsFrom=false&version=2',
  7.         ),
  8.     ));
  9.         echo file_get_contents('http://json.teztour.com/agencytoursearch/getResult', $use_include_path = false,$context);


2-й
PHP:
скопировать код в буфер обмена
  1. $query = '';
  2.         foreach($_POST as $key => $value) {
  3.                 $query .= $key.'='.$value.'&';
  4.         }      
  5.         echo $query;
  6.         $ch = curl_init();
  7.         //curl_setopt($ch, CURLOPT_PROXY, "1.2.3.4:123"); //если нужен прокси
  8.         curl_setopt($ch, CURLOPT_POST, 1);
  9.         curl_setopt($ch, CURLOPT_URL, "http://json.teztour.com/agencytoursearch/getResult"); //куда шлем
  10.         curl_setopt($ch, CURLOPT_POSTFIELDS, $query); //что шлем
  11.         curl_setopt($ch, CURLOPT_REFERER, "http://ruban.pro/turt/");
  12.         curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MyIE2; .NET CLR 1.1.4322)");
  13.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  14.         curl_setopt($ch, CURLOPT_HEADER, 1);
  15.         curl_setopt($ch, CURLOPT_NOBODY, 0);
  16.         $result=curl_exec ($ch);
  17.         curl_close ($ch);
  18.  
  19.         echo $result;


что не так делаю?
(Добавление)
С курлом разобрался, теперь другой вопрос сервер отправляет строку post запроса такого вида:
locale=ru&
cityId=345&
countryId=166775&
departureDateMin=21.01.2012&
departureDateMax=28.01.2012&
nightsMin=7&
nightsMax=15&
adults=2&
children=0&
priceMin=0&
priceMax=15000&
currency=5561&
findByPrice=true&
tourId=9009296&hotelClassId=9006279&
hotelClassId=9006280&
hotelClassId=9006281&
feedId=9006288&
feedId=9006289&
hotelInStop=false&
noTicketsTo=false&
noTicketsFrom=false&
version=2

как можно заметить в строке запроса параметры за названием feedId, hotelClassId присутствуют не однократно
как мне в моем скрипте получить не массив пост а исходную строку post запроса?


Отредактировано модератором: Мелкий, 21 Января, 2012 - 12:30:46
 
 Top
Мелкий Супермодератор
Отправлено: 21 Января, 2012 - 13:43:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Jmunb пишет:
как мне в моем скрипте получить не массив пост а исходную строку post запроса?

Т.е. на принимающей стороне? Получить исходные данные? На память:


-----
PostgreSQL DBA
 
 Top
Jmunb
Отправлено: 23 Января, 2012 - 07:24:32
Post Id


Новичок


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


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




Хоть сам и разобрался но все равно спасибо добрый человек.
Тему можно закрывать
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB