Как в 1С 8.2 программно скачивать данные с сайта
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 6 из 6
  1. #1
    Гость форума

    Регистрация
    12.03.2014
    Сообщений
    7
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    Exclamation Как в 1С 8.2 программно скачивать данные с сайта

    Доброго всем времени суток!

    Собственно вот в чём заключается моя проблема:

    есть некий скрипт, который получает данные с других сайтов. В нём есть вот такой кусок кода, который получает некоторую информацию по авто запчастям:

    Код:
    $data = array();
    $i = 1000;
    $id = "123";
    $psw = "321";
    $sc = "881";
    
    $xml_data = '<?xml version="1.0" encoding="UTF-8" ?> <message><param><action>price</action><login>' . $id . '</login><password>' . $psw . '</password><code>' . $sc . '</code><sm>1</sm></param></message>';
    
    $url = "http://adeo.pro/pricedetals2.php";
    
    $xml = new SimpleXMLElement(trim($this->get_by_curl($url, $xml_data)));
    В переменную "$xml" (насколько я понял) попадают данные с сайта.

    Копаясь в 1С и в и-нете нашёл небольшой пример кода для работы с httpСоединением. Попытался реализовать его в 1С:

    Код:
    xml_data = "<?xml version=""1.0"" encoding=""UTF-8"" ?> <message><param><action>price</action><login>tula71</login><password>SetTtT</password><code>" + КодДетали + "</code><sm>1</sm></param></message>'";
    url = "http://adeo.pro/pricedetals2.php";
    
    Попытка
       HTTP = Новый HTTPСоединение("adeo.pro");       
       HTTP.Получить("new SimpleXMLElement(trim($this->get_by_curl(" + url + ", " + xml_data + ")))", "C:\Users\Admin1BC\Downloads\123\" + "ЗапросПоиска.xml");
    Исключение
       Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное); 
    КонецПопытки;

    При выполнении кода показывает вот такую ошибку:
    {Форма.Форма.Форма(17)}: Ошибка при вызове метода контекста (Получить): Файл не обнаружен 'new SimpleXMLElement(trim($this->get_by_curl(http://adeo.pro/pricedetals2.php, <?xml version="1.0" encoding="UTF-8" ?> <message><param><action>price</action><login>123</login><password>321</password><code>881</code><sm>1</sm></param></message>')))': Ошибка работы с Интернет: ресурс не найден (404). <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL /new SimpleXMLElement(trim($this-&gt;get_by_curl(http://adeo.pro/pricedetals2.php, &lt; was not found on this server.</p>
    </body></html>
    : Ошибка работы с Интернет: ресурс не найден (404)

    Если честно в php не разбираюсь вообще никак. Поэтому даже понять не могу почему не работает. Может кто подскажет что именно не так, или как правильно сделать?
    Последний раз редактировалось Максимио; 12.03.2014 в 22:27.

  2. #2
    Спец PRO
    Аватар для arccos6pi
    Регистрация
    13.12.2010
    Адрес
    Тамбов
    Сообщений
    366
    Сказал(а) спасибо
    22
    Поблагодарили 1066 раз(а) в 244 сообщениях

    По умолчанию

    Цитата Сообщение от Максимио Посмотреть сообщение
    Доброго всем времени суток!

    Собственно вот в чём заключается моя проблема:

    есть некий скрипт, который получает данные с других сайтов. В нём есть вот такой кусок кода, который получает некоторую информацию по авто запчастям:

    Код:
    $data = array();
    $i = 1000;
    $id = "123";
    $psw = "321";
    $sc = "881";
    
    $xml_data = '<?xml version="1.0" encoding="UTF-8" ?> <message><param><action>price</action><login>' . $id . '</login><password>' . $psw . '</password><code>' . $sc . '</code><sm>1</sm></param></message>';
    
    $url = "http://adeo.pro/pricedetals2.php";
    
    $xml = new SimpleXMLElement(trim($this->get_by_curl($url, $xml_data)));
    В переменную "$xml" (насколько я понял) попадают данные с сайта.

    Копаясь в 1С и в и-нете нашёл небольшой пример кода для работы с httpСоединением. Попытался реализовать его в 1С:

    Код:
    xml_data = "<?xml version=""1.0"" encoding=""UTF-8"" ?> <message><param><action>price</action><login>tula71</login><password>SetTtT</password><code>" + КодДетали + "</code><sm>1</sm></param></message>'";
    url = "http://adeo.pro/pricedetals2.php";
    
    Попытка
       HTTP = Новый HTTPСоединение("adeo.pro");       
       HTTP.Получить("new SimpleXMLElement(trim($this->get_by_curl(" + url + ", " + xml_data + ")))", "C:\Users\Admin1BC\Downloads\123\" + "ЗапросПоиска.xml");
    Исключение
       Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное); 
    КонецПопытки;

    При выполнении кода показывает вот такую ошибку:
    {Форма.Форма.Форма(17)}: Ошибка при вызове метода контекста (Получить): Файл не обнаружен 'new SimpleXMLElement(trim($this->get_by_curl(http://adeo.pro/pricedetals2.php, <?xml version="1.0" encoding="UTF-8" ?> <message><param><action>price</action><login>123</login><password>321</password><code>881</code><sm>1</sm></param></message>')))': Ошибка работы с Интернет: ресурс не найден (404). <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL /new SimpleXMLElement(trim($this->get_by_curl(http://adeo.pro/pricedetals2.php, < was not found on this server.</p>
    </body></html>
    : Ошибка работы с Интернет: ресурс не найден (404)

    Если честно в php не разбираюсь вообще никак. Поэтому даже понять не могу почему не работает. Может кто подскажет что именно не так, или как правильно сделать?
    в вашем случаем почти все не так
    во-первых вам нужно не HTTP.Получить(), а HTTP.ОтправитьДляОбработки()
    Прочитайте ЛС:)

  3. #3
    Гость форума

    Регистрация
    12.03.2014
    Сообщений
    7
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию

    Попробовал сделать так как вы написали в ЛС. Всё равно не получается. Выдаёт вот такую ошибку:
    {Форма.Форма.Форма(35)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка работы с Интернет: Couldn't resolve host name

    Запинается как раз на строке: Соединение.ОтправитьДляОб� �аботки(ИмяФайлаОтправки, "/pricedetals2.php", ИмяВыходногоФайла, Заголовки);

    -----------------------------------------------------------------------------

    Хм... Странно получилось. Написал вот так и ошибка уже не выскочила:

    Код:
    Соединение = Новый HTTPСоединение("adeo.pro");
    Попытка
       Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, "/pricedetals2.php", ИмяВыходногоФайла, Заголовки);
    Исключение
       Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
    КонецПопытки;
    Однако XML-файл был пустым...

    Открыл файл блокнотом, а там вот такая инфа (только в строчку):
    <?xml version="1.0" encoding="UTF-8"?>
    <message>
    <param>
    <action>price</action>
    <login>ЛОГИН</login>
    <password>ПАРОЛЬ</password>
    <code>881</code>
    <sm>ПАРОЛЬ</sm>
    </param>
    </message>
    Последний раз редактировалось Максимио; 13.03.2014 в 12:19.

  4. #4
    Спец PRO
    Аватар для arccos6pi
    Регистрация
    13.12.2010
    Адрес
    Тамбов
    Сообщений
    366
    Сказал(а) спасибо
    22
    Поблагодарили 1066 раз(а) в 244 сообщениях

    По умолчанию

    Цитата Сообщение от Максимио Посмотреть сообщение
    Попробовал сделать так как вы написали в ЛС. Всё равно не получается. Выдаёт вот такую ошибку:
    {Форма.Форма.Форма(35)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка работы с Интернет: Couldn't resolve host name

    Запинается как раз на строке: Соединение.ОтправитьДляОб� �аботки(ИмяФайлаОтправки, "/pricedetals2.php", ИмяВыходногоФайла, Заголовки);

    -----------------------------------------------------------------------------

    Хм... Странно получилось. Написал вот так и ошибка уже не выскочила:

    Код:
    Соединение = Новый HTTPСоединение("adeo.pro");
    Попытка
       Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, "/pricedetals2.php", ИмяВыходногоФайла, Заголовки);
    Исключение
       Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
    КонецПопытки;
    Однако XML-файл был пустым...

    Открыл файл блокнотом, а там вот такая инфа (только в строчку):
    <?xml version="1.0" encoding="UTF-8"?>
    <message>
    <param>
    <action>price</action>
    <login>ЛОГИН</login>
    <password>ПАРОЛЬ</password>
    <code>881</code>
    <sm>ПАРОЛЬ</sm>
    </param>
    </message>
    экстрасенов мало
    PHP код:
    <?xml version="1.0" encoding="UTF-8"?>
    <message>
        <param>
            <action>price</action>
            <login>ЛОГИН</login>
            <password>ПАРОЛЬ</password>
            <code>881</code>
            <sm>ПАРОЛЬ</sm>
        </param>
    </message>
    проверяйте этот кусок,раз возвращается пустое
    может какого параметра не хватает

  5. #5
    Гость форума

    Регистрация
    12.03.2014
    Сообщений
    7
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию

    Прошу прощения. Это я тупанул.
    На самом деле я проверял временный файл XML, который для запроса создавался (ИмяФайлаОтправки). А всё из-за того, что закоментировал код с удалением этого файла )).
    Спасибо за помощь! Всё работает!

  6. #6
    Спец PRO
    Аватар для arccos6pi
    Регистрация
    13.12.2010
    Адрес
    Тамбов
    Сообщений
    366
    Сказал(а) спасибо
    22
    Поблагодарили 1066 раз(а) в 244 сообщениях

    По умолчанию

    Цитата Сообщение от Максимио Посмотреть сообщение
    Прошу прощения. Это я тупанул.
    На самом деле я проверял временный файл XML, который для запроса создавался (ИмяФайлаОтправки). А всё из-за того, что закоментировал код с удалением этого файла )).
    Спасибо за помощь! Всё работает!
    пожалуйста;)

Похожие темы

  1. Проги для скачивания с файлообменников
    от Terracot2009 в разделе Интернет и сети
    Ответов: 2
    Последнее сообщение: 10.03.2012, 14:47
  2. Ответов: 0
    Последнее сообщение: 15.03.2010, 12:18

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •