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 :: Отличие запросе через браузер и через file_get_contents

 PHP.SU

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


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

> Без описания
lexus1990
Отправлено: 23 Августа, 2011 - 16:16:37
Post Id


Новичок


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


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




Добрый день! Существует обмен через xml шлюз. У системы, откуда присылается xml есть способ запроса - асинхронный. Сначала отсылается запрос вида site.ru?country=111&async=1. Приходит ответ с id сессии nnn.
Далее посылается запрос вида site.ru?country=111&session=nnn, на что приходит пустой xml
PHP:
скопировать код в буфер обмена
  1. <?xml version="1.0" encoding="UTF-8"?><?/xml?>

- т.е. система отвечает. В случае, когда авторизация не пройдена - приходит ответ.
Далее делается тот же самый запрос через браузер - и чудо - в ответе необходимые данные. Какая между этими двумя способами разница?
PHP:
скопировать код в буфер обмена
  1.  
  2.     ob_start();
  3.     $str = $host.$url;
  4.     $result = file_get_contents($str);
  5.     ob_end_clean();
  6.     var_dump($result,$str);
  7.     $session = simplexml_load_string($result);
  8.     $id_session = (string) $session['session'];
  9.     $url = substr($url,0,strpos($url,"async=1")-1);
  10.     $url .= "&Session=".$id_session."&paging=on&page=1";
  11.        
  12.     ob_start();
  13.     $str = $host.$url;
  14.     $result = file_get_contents($str);
  15.     ob_end_clean();
  16.     var_dump($result, $str);
 
 Top
Viper
Отправлено: 25 Августа, 2011 - 07:11:59
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




lexus1990 пишет:
Какая между этими двумя способами разница?

в заголовках, которые отсылает браузер при запросе, и которые отсутствуют при file_get_contents


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
DeepVarvar Супермодератор
Отправлено: 25 Августа, 2011 - 07:16:18
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




PHP:
скопировать код в буфер обмена
  1. if (isset($_SERVER['HTTP_X_REQUESTED_WITH'])) echo "it's ajax request!";
 
 Top
lexus1990
Отправлено: 25 Августа, 2011 - 08:04:58
Post Id


Новичок


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


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




Как отследить заголовки, которые отсылает браузер? Видимо если разница в заголовках - через curl надо запрос отправлять?
 
 Top
Viper
Отправлено: 25 Августа, 2011 - 08:08:23
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




lexus1990 для контроля заголовков смотрите firebug(для firefox) или dragonfly для opera. В safari оно встроено, для IE тоже есть шняга(забыл название).
Отправляйте с помощью cURL.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB