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 :: Версия для печати :: Передача xml методом post
Форумы портала PHP.SU » » Вопросы новичков » Передача xml методом post

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

1. cooperok - 29 Сентября, 2012 - 10:24:49 - перейти к сообщению
Здраствуйте, искал скрипт для определения позиций сайта по запросам,
скрипт нашел, но он не работает, скрипт работал методом GET но видать в яндексе запретили его использовать, написано что б POSToм пользовались

Вобщем суть в том что надо передать xml методом Post, такого никогда не делал, поискал в инете но тоже особо ничего не нашел

Как можно передать
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <request>      
  3.         <query>yandex</query>
  4.         <groupings>
  5.                 <groupby attr="d" mode="deep" groups-on-page="10"  docs-in-group="1" />        
  6.         </groupings>    
  7. </request>


адрес
http://xmlsearch[dot]yandex[dot]ru/xmlse[dot][dot][dot]y=*******:******
2. KingStar - 29 Сентября, 2012 - 10:45:26 - перейти к сообщению
присваиваешь переменной, и отправляешь curl
(Добавление)
а тебе получить результат нужно, или отправить в форме????
3. cooperok - 29 Сентября, 2012 - 10:48:30 - перейти к сообщению
KingStar
Сначала отправить, потом поулчить
(Добавление)
ну как бы передать нужно
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2.  
  3. <request>      
  4.  
  5.         <query>yandex</query>
  6.  
  7.         <groupings>
  8.  
  9.                 <groupby attr="d" mode="deep" groups-on-page="10"  docs-in-group="1" />        
  10.  
  11.         </groupings>    
  12.  
  13. </request>


в ответ получаю список, тоесть как обычный поиск в яндексе только 100 строк можно вывести, ну и посчитать позицию определенного сайта

с XML ни разу не работал
4. KingStar - 29 Сентября, 2012 - 10:55:34 - перейти к сообщению
если я правильно тебя понял? как-то так

PHP:
скопировать код в буфер обмена
  1. $url = "http://xmlsearch.yandex.ru/xmlsearch?user=******&key=*******:******";
  2. $postdata = "<request>      ....          </request>";
  3.  
  4. $uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
  5.  
  6. $ch = curl_init($url);
  7. curl_setopt($ch, CURLOPT_URL, $url);
  8. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  9. curl_setopt($ch, CURLOPT_HEADER, 0);
  10. curl_setopt($ch, CURLOPT_USERAGENT, $uagent);
  11. curl_setopt($ch, CURLOPT_TIMEOUT, 60);
  12. curl_setopt($ch, CURLOPT_POST, 1);
  13. curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
  14.  
  15. echo curl_exec($ch)."<br/>";
  16. echo curl_errno($ch)."<br/>";
  17. echo curl_error($ch)."<br/>";
  18. echo curl_getinfo($ch)."<br/>";
  19.  
  20.  
5. cooperok - 29 Сентября, 2012 - 11:02:35 - перейти к сообщению
KingStar
да что то получилось, на денвере ошибка Call to undefined function curl_init()
а хосте пишет что запрос с ИП хоста пришел, ответа не дает, надо щас на денвер настроить, ну думаю дальше разберусь, спс
6. KingStar - 29 Сентября, 2012 - 11:04:34 - перейти к сообщению
подключить php_curl.dll в php.ini нужно

 

Powered by ExBB FM 1.0 RC1