8.х Поиск картинок через google api

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Vladius, 14 май 2014.

  1. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    У них на сайте есть пример
    http://www.google.com/search?
    q=socer
    &hl=en
    &start=10
    &num=10
    &output=xml
    &client=google-csbe
    &cx=00255077836266642015:u-scht7a-8i

    В итоге возвращается xml файлик.


    Но как работать по этому примеру в 1с?
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Это нужно передать в адресную строку или сформировать xml и передать его на сервер гугла ?
  3. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Вам что нужно, обработать ответ или послать запрос на поиск ?
  5. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    Послать запрос и получить ответ. Нужно взять первую картинку которую нашел гугл.

    Я конечно использую этот вариант ajax.googleapis.com/ajax/services/search/images?v=1.0&q=<Текст для поиска>

    Получаю ответ в формате json. Быстро написал парсер этих данных и вроде как все работает. Но хотелось бы получать ответ в xml тогда будет больше возможностей.
  6. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    Код:
        Соединение = Новый HttpСоединение("google.com", 80);
        Запрос = Новый HttpЗапрос("search?q=socer&hl=en&start=10&num=10&output=xml&client=google-csbe&&cx=00255077836266642015:u-scht7a-8i");
        Ответ = Соединение.Получить(Запрос);
        СтрокаXML = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
    
    после этого со строкой, содержащей xml делайте что хотите. только желательно проверить код ответа перед этим :)
  7. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    Вот что возвращается:
    <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
    <TITLE>301 Moved</TITLE></HEAD><BODY>
    <H1>301 Moved</H1>
    The document has moved
    <A HREF="http://www.google.com/search?q=soce...-csbe&amp;cx=00255077836266642015:u-scht7a-8i">here</A>.
    </BODY></HTML>
    --- Объединение сообщений, 27 май 2014 ---
    HTML возвращается а не XML :)
  8. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    значит код ответа отрабатывать надо - документ по другому адресу живет :)
    код 301 - документ перемещен, в атрибутах ответа будет путь (ну и в теле на всякий случай)
    код 200 - доумент принят
  9. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    Код ответа это понятно. Просто любую фразу задаешь и он возвращает html.
  10. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    google при любом коде вернет html кроме 200
    просто если пришел 200 - бери внутренности, если пришел 301 - бери из заголовка новый адрес и пинай уже его

Поделиться этой страницей