За последние 24 часа нас посетили 17837 программистов и 1610 роботов. Сейчас ищут 834 программиста ...

get запрос

Тема в разделе "PHP для новичков", создана пользователем musica, 11 окт 2010.

  1. musica

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

    С нами с:
    24 сен 2010
    Сообщения:
    46
    Симпатии:
    0
    файл лежит по адресу https://docs.google.com/feeds/download/ ... mat=format, скачивается через бразуер

    мне нужно скачать его к себе на сервер. я понмаю, что прямой сслыки на файл нет, так как он генерируется при обращении по вышеуказанному адресу. в мануале по гуглу сказано использовать запрос GET /feeds/download/documents/Export?docID=resource_id&exportFormat=html, только вот я не знаю как это сделать.

    небольшое вознаграждение за помощь в решении этого вопроса:)
     
  2. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    читать ман по curl
     
  3. musica

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

    С нами с:
    24 сен 2010
    Сообщения:
    46
    Симпатии:
    0
  4. musica

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

    С нами с:
    24 сен 2010
    Сообщения:
    46
    Симпатии:
    0
    Gromo, please, сижу, втыкаю уже 2 день, но ничего не выходит. хотя бы ткните носом в конкретное место.
     
  5. musica

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

    С нами с:
    24 сен 2010
    Сообщения:
    46
    Симпатии:
    0
    Ну никак не работает... белый экран

    Код (Text):
    1. <?php
    2. set_include_path(get_include_path() . PATH_SEPARATOR . "/home/localhost/www/libraries/zend/library/");
    3. require_once("Zend/Loader.php");
    4. Zend_Loader::loadClass('Zend_Gdata');
    5. Zend_Loader::loadClass('Zend_Gdata_Query');
    6. Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
    7. Zend_Loader::loadClass('Zend_Gdata_Docs');
    8. Zend_Loader::loadClass('Zend_Gdata_Docs_Query');
    9.  
    10. $username = 'test';
    11. $password = 'test';
    12.  
    13. $service = Zend_Gdata_Docs::AUTH_SERVICE_NAME;
    14. $httpClient = Zend_Gdata_ClientLogin::getHttpClient($username, $password,
    15.     $service);
    16. $docs = new Zend_Gdata_Docs($httpClient);
    17.  
    18. $feed = $docs->getDocumentListFeed();
    19.  
    20. foreach ($feed->entries as $entry)
    21. {
    22. $titleid=$entry->title;
    23. $fileid=$entry->id;
    24. $cut = substr($fileid, 63);
    25. if ($titleid=="Resume.doc")
    26. {
    27. $ch = curl_init();
    28. $headers = array(
    29. 'method'=>"GET",
    30. 'header'=>"/feeds/download/documents/Export?docId=$cut&exportFormat=html"
    31. );
    32.  
    33. curl_setopt($ch, CURLOPT_URL, "https://docs.google.com");
    34. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    35. curl_exec($ch);
    36. curl_close($ch);
    37. }
    38. }
    39. ?>
    [/code]
     
  6. WildZero

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

    С нами с:
    24 фев 2010
    Сообщения:
    242
    Симпатии:
    0
    Адрес:
    Пермь
    Пароль убери.
     
  7. musica

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

    С нами с:
    24 сен 2010
    Сообщения:
    46
    Симпатии:
    0
  8. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    судя по этой фразе проблема была из-за невнимательности
     
  9. musica

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

    С нами с:
    24 сен 2010
    Сообщения:
    46
    Симпатии:
    0
    ну в чем там дело, я уже все перепробовал, ничего не выходит...
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    wget попробуй =)
     
  11. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    musica
    phpinfo();

    и посмотри установлено ли расширение курл вообще
     
  12. musica

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

    С нами с:
    24 сен 2010
    Сообщения:
    46
    Симпатии:
    0
    Gromo

    включен,

    Код (Text):
    1. <?php
    2. $ch = curl_init();
    3. curl_setopt($ch, CURLOPT_URL, "http://www.php.net/");
    4. curl_setopt($ch, CURLOPT_HEADER, 0);
    5. curl_exec($ch);
    6. curl_close($ch);
    7. ?>
    работает, например
     
  13. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    musica
    это же прекрасно, осталось разобраться почему не работает именно с данной ссылкой.
    попробуй получить какое-либо содержимое с гугла по статической ссылке без зенд-овских классов.
     
  14. musica

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

    С нами с:
    24 сен 2010
    Сообщения:
    46
    Симпатии:
    0
    Все, сделал, без использования зенда.

    из всей полезной инфы, что нашёл за эти 3 дня самая полезная оказалась от отечественных программистов, а именно Ilia Alshanetsky и Konstantin Kovshenin.

    только вот curl работает с google docs не очень шустро. Запрос на файл размером 5кб происходит 5-6 секунд.
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    musica
    ты какимнить wget'ом пробовал?
     
  16. musica

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

    С нами с:
    24 сен 2010
    Сообщения:
    46
    Симпатии:
    0
    нет,я пока не умею, а в чем профит?
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в том что одной строкой скачиваешь файл без парилки мозга.