Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> cURL возвращает пустую строку 
:(
    Опции темы
lagab
  Дата 22.1.2011, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 12.1.2009

Репутация: нет
Всего: нет



Здравствуйте!
Мне необходимо использовать в одном из своих скриптов данный сервис: http://www.jde.ru/calc
Это что-то вроде калькулятора доставки.

С помощью firebug я посмотрел какие заголовки шлет форма в бэкенд аджакса, посмотрел url до бэкенд скрипта.
Набросал такой код
Код

  $url = 'http://www.jde.ru/form/calc';
  $postdata = "Ffrom=%D0%92%D0%BE%D1%80%D0%BE%D0%BD%D0%B5%D0%B6&from=%D0%92%D0%BE%D1%80%D0%BE%D0%BD%D0%B5%D0%B6&
Fto=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&to=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&weight=1&
vol_toggle=true&vol_length=&vol_width=&vol_height=&volume=0.0001&Oversize_Weight=&Oversize_Volume=&crate_volume=&
crate_markup=1&Bags_1=&
Bags_2=&Bags_3=&Bags_4=&departure_from=%D0%92%D0%BE%D1%80%D0%BE%D0%BD%D0%B5%D0%B6&departure_distance=&
TimeA_From=10&PaidA_From=&CraneA_From=0&AreaA_From=0&AddttnA_From=&
destination_to=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&destination_distance=&TimeA_To=10&PaidA_To=&
CraneA_To=0&AreaA_To=0&AddttnA_To=&script=on";
 $ch = curl_init($url);    
 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 GTB7.");
 curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3"));
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
 curl_setopt($ch, CURLOPT_REFERER, 'http://www.jde.ru/calc');
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION  ,1); 
 curl_setopt($ch, CURLOPT_HEADER      ,0);  // DO NOT RETURN HTTP HEADERS 
 curl_setopt($ch, CURLOPT_RETURNTRANSFER  ,1);  // RETURN THE CONTENTS OF THE CALL
 $Rec_Data = curl_exec($ch);
 echo var_dump($Rec_Data);


По идее должен прийти в ответ html код. Тем не менее мне постоянно в ответ приходит что-то вроде
Цитата

string(49) " "


То есть пустая строка. Пробовал играться с заголовками, пробовал разные варианты.
Может кто-нибудь подсказать в чем проблема?
Или как по-другому раздирбанить этот калькулятор, чтобы использовать его в своем приложении?

Это сообщение отредактировал(а) lagab - 22.1.2011, 17:04
PM MAIL   Вверх
patap
Дата 16.2.2011, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: нет
Всего: 40



Код

  $url = 'http://www.jde.ru/form/calc';
  $postdata = "Ffrom=%D0%98%D1%80%D0%BA%D1%83%D1%82%D1%81%D0%BA&from=%D0%98%D1%80%D0%BA%D1%83%D1%82%D1%81%D0%BA&Fto=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&to=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&weight=900&vol_length=15&vol_width=7&vol_height=3&volume=&bulky=true&bulky_all=true&Oversize_Weight=&Oversize_Volume=&crate_volume=&crate_markup=1&warm=true&Bags_1=&Bags_2=&Bags_3=&Bags_4=&departure_from=%D0%98%D1%80%D0%BA%D1%83%D1%82%D1%81%D0%BA&departure_distance=&TimeA_From=10&PaidA_From=&CraneA_From=0&AreaA_From=0&AddttnA_From=&destination=true&destination_to=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&destination_distance=&WarmA_To=1&SundyA_To=1&TimeA_To=10&PaidA_To=10&CraneA_To=0&AreaA_To=0&AddttnA_To=&script=on";
 
  $ch = curl_init();    
 
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_HEADER, 1);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_TIMEOUT, 3);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
  curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 MRA 5.5 (build 02842) Firefox/3.6.13',
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3',
    'Accept-Encoding: gzip,deflate',
    'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7',
    'Keep-Alive: 115',
    'Connection: keep-alive',
    'Content-Type: application/x-www-form-urlencoded; charset=UTF-8',
    'X-Requested-With: XMLHttpRequest',
    'Referer: http://www.jde.ru/calc',
    'Content-Length: ' . strlen($postdata)
  ));
  $Rec_Data = curl_exec($ch);
  echo var_dump($Rec_Data);



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
patap
Дата 16.2.2011, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: нет
Всего: 40



делать нехрен мне на работе smile

вот пропарсенный результат
Код

preg_match_all('#<table class="calcTable">(.*?)</table>#si', $Rec_Data, $match);
  $result = $temp = array();
  
  foreach ($match[1] as $table) {
    preg_match_all('#<td>(.*?)</td>#si', $table, $tds);
    foreach ($tds[1] as $key => $value) {
      if ($key % 2 == 0) {
        $temp['name'] = $value;
      } else {
        $temp['value'] = $value;
        array_push($result, $temp);
        $temp = array();
      }
    }
  }
  
  echo '<pre>';
  print_r($result);
  echo '</pre>';



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
mafangel
Дата 16.1.2015, 02:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 16.1.2015

Репутация: нет
Всего: нет



у меня CURL ()


Код

          $chp = curl_init($url);
          curl_setopt($chp,CURLOPT_CONNECTTIMEOUT,20);
          curl_setopt($chp,CURLOPT_TIMEOUT,20);
          curl_setopt($chp,CURLOPT_TIMEOUT_MS,20000);
          curl_setopt($chp, CURLOPT_FOLLOWLOCATION, true);
          curl_setopt($chp, CURLOPT_RETURNTRANSFER, true);
          curl_setopt($chp, CURLOPT_MAXREDIRS, 4);
          curl_setopt($chp, CURLOPT_HEADERFUNCTION, 'setCookies');
          curl_setopt($chp, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
          curl_setopt($chp, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
          curl_setopt($chp, CURLOPT_URL, $url);
          $res = curl_exec($chp);
          curl_close($chp);

возвращает пусто на следующий URL http://www.zagarhall.ru/shellac.htm

причем остальные парсит нормально.
Где гарантии, что в некоторых случаях я не буду получать также пусто...
проверка ответа серверов - показывает 200 - ОК...

не понимаю, почему не работатет ((
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.1058 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.