За последние 24 часа нас посетили 58594 программиста и 1813 роботов. Сейчас ищут 855 программистов ...

Проблемы с curl и cookie

Тема в разделе "PHP для новичков", создана пользователем metadon, 4 май 2008.

  1. metadon

    metadon Активный пользователь

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Здравствуйте, не получается отправить с помощью curl на страницу cookie которые получил с помощью curl.
    Чтобы проверить отправляются ли cookie я направил curl на файл с phpinfo(); но там не нашёл отправляемых cookie с помощь curl.
    Помогите найти ошибку в скрипте


    PHP:
    1. <?php
    2. //здесь авторизируемся на сайте
    3. $url = "http://www.sape.ru/api_xmlrpc.php";
    4.  
    5. // Данные для отправки
    6. $xml = <<<EOF
    7. <?xml version="1.0"?>
    8. <methodCall>
    9. <methodName>sape.login</methodName>
    10. <params>
    11. <param><value><string>my_login</string></value></param>
    12. <param><value><string>my_md5_password</string></value></param>
    13. <param><value><boolean>1</boolean></value></param>
    14. </params></methodCall>
    15. EOF;
    16.  
    17. $xml2 = <<<EOF
    18. <?xml version="1.0"?>
    19. <methodCall>
    20. <methodName>sape.get_user</methodName></methodCall>
    21. EOF;
    22.  
    23. $ch = curl_init();
    24. // url страницы для авторизации
    25. curl_setopt($ch, CURLOPT_URL, $url);
    26.  
    27. //вернуть результат запроса в переменную, а не на экран
    28. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    29.  
    30. // используем метод POST
    31. curl_setopt($ch, CURLOPT_POST, 1);
    32.  
    33. // данные передаваемые POST запросом
    34. curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
    35.  
    36. //сохранять полученные COOKIE в файл
    37. curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/trash/cookie.txt');
    38.  
    39. //запускаем
    40. $result = curl_exec($ch);
    41.  
    42. //url страницы или файла для скачивания
    43. curl_setopt($ch, CURLOPT_URL, $url);
    44.  
    45. //вернуть результат запроса в переменную, а не на экран
    46. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    47.  
    48. // используем метод POST
    49. curl_setopt($ch, CURLOPT_POST, 1);
    50.  
    51. // данные передаваемые POST запросом
    52. curl_setopt($ch, CURLOPT_POSTFIELDS, $xml2);
    53.  
    54. //отсылаем серверу COOKIE полученные от него при авторизации
    55. curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/trash/cookie.txt');
    56.  
    57. //запускаем
    58. $result = curl_exec($ch);
    59.    
    60. curl_close($ch);  
    61.    
    62. echo $result;
    63.    
    64. ?>
     
  2. metadon

    metadon Активный пользователь

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Разобрался