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
Форумы портала PHP.SU :: Версия для печати :: curl авторизация
Форумы портала PHP.SU » » Работа с сетью » curl авторизация

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

1. k0ma - 21 Июля, 2013 - 17:34:13 - перейти к сообщению
Вобщем надо авторизоваться на сайте, неважно каком, первая авторизация проходит, но меня почемуто кидает не на www.sait.com/nikola_main.html, а на localhost/test.ru/nikola_main.ht ml
ошибка при вызове функции
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. The requested URL /nikola_main.html was not found on this server.
  3.  


код функции
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $url='http://www.site.com/nikola_main.html?uname=vova&pwd2=ZTEjVixVMjAxMA%3D%3D&language_selector=en-US&err_flag=0&err_msg=&passpage=nikola_main2.html&failpage=nikola_login.html&submit_flag=0';
  4. $ch = curl_init();
  5. curl_setopt($ch, CURLOPT_URL, $url);
  6. curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0 ");
  7. $headers = array
  8. (
  9.    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  10.    'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
  11.    'Accept-Encoding: gzip, deflate'
  12. );
  13. curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
  14. curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
  15. curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
  16. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  17. $html=curl_exec($ch); // выполняем запрос curl
  18. ?>
  19.  
  20.  

вобщем почему он идет на localhost ,а не на сайт к которому я обращаюсь?
2. Мелкий - 22 Июля, 2013 - 09:48:01 - перейти к сообщению
Попробуйте referer'а указать. Возможно, целевой сайт почему-то опирается на это значение при обработке редиректа.
Ну и смотрите CURLOPT_HEADER, что именно стоит в location
3. k0ma - 22 Июля, 2013 - 19:06:28 - перейти к сообщению
код скрипта
CODE (htmlphp):
скопировать код в буфер обмена
  1.  <?PHP
  2. $url='http://172.17.12.131/nikola_login.html?uname=admin&pwd2=ZTEjVixVMjAxMA%3D%3D&language_selector=en-US&err_flag=0&err_msg=&passpage=nikola_main2.html&failpage=nikola_login.html&submit_flag=0';
  3. $ch = curl_init();
  4. curl_setopt($ch, CURLOPT_URL, $url);
  5. curl_setopt($ch, CURLOPT_HEADER,true);
  6. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0 ");
  7. $headers = array
  8. (
  9.    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  10.    'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
  11.    'Accept-Encoding: gzip, deflate'
  12. );
  13. curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
  14. curl_setopt($ch, CURLOPT_REFERER, 'http://172.17.12.131');
  15. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  16. //будет следовать за всеми location в ответ от севрера
  17. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  18. curl_setopt($ch, CURLOPT_COOKIEJAR, "/my_cookies.txt");  
  19. curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
  20. $html=curl_exec($ch); // выполняем запрос curl
  21. $info = curl_getinfo($ch);
  22.  

вобщем подскажите что должно получиться в итоге?
1.исходный код страницы с формами для авторизации
4. k0ma - 22 Июля, 2013 - 19:07:56 - перейти к сообщению
2.исходный код после авторизации

 

Powered by ExBB FM 1.0 RC1