Имя: Пароль:
1C
 
получение строки из сайта
0 Enot_tut
 
12.03.20
16:31
как получить строку из сайта,
   ИмяВходящегоФайла = КаталогВременныхФайлов() + "temp_html";
    НТТР = Новый HTTPСоединение(Сервер);
    НТТР.Получить(Адрес, ИмяВходящегоФайла);
написал такой код, но в нем он не находит строку
1 butterbean
 
12.03.20
16:54
кто где какую строку не находит??
2 Enot_tut
 
13.03.20
09:21
(1) https://market.yandex.ru/product--diktofon-ritmix-rr-120-4gb/106652249 вот я хочу сделать чтобы с маркета брал цену,<div class="n-product-price-cpa2__price"><span class="price">1 590&nbsp;₽</span></div> вот с этой строки не как не могу сказать ему чтобы он брал цену с price, час делал с помощью цикла но это долго, можно как нибуть обратиться к этой строке и брать значения price? а не перебегать по всему коду и срезать с левой и правой  чтобы получить стоимость ?
3 MyNick
 
13.03.20
10:54
А файл то зачем вообще. Можно получить тело ответа сразу в виде строки.
4 MyNick
 
13.03.20
11:11
(2) ты делаешь запрос к https без SSL
Попробуй это

СоединениеHTTP=Новый HTTPСоединение(Адрес,,,,,,Новый ЗащищенноеСоединениеOpenSSL);
HTTPЗапрос = Новый HTTPЗапрос(СтрокаЗапроса);
Ответ = СоединениеHTTP.Получить(HTTPЗапрос);
Если Ответ.КодСостояния = 200 Тогда//успешно
    Текст = Ответ.ПолучитьТелоКакСтроку();
КонецЕсли;
5 Enot_tut
 
13.03.20
11:33
(4) Ответ = СоединениеHTTP.Получить(HTTPЗапрос);
по причине:
Ошибка работы с Интернет:  Couldn't resolve host name
6 MyNick
 
13.03.20
11:59
а что в адресе и что в строке запроса?
7 Enot_tut
 
13.03.20
13:16
(6) market.yandex.ru/
product--diktofon-ritmix-rr-120-4gb/106652249
8 MyNick
 
13.03.20
13:30
Все работает.

Проверяй настройки файервола и пр. Может у тебя код на сервере выполняется, где инет заблокирован?


Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    Адрес = "market.yandex.ru/";
    СтрокаЗапроса = "product--diktofon-ritmix-rr-120-4gb/106652249";
    СоединениеHTTP=Новый HTTPСоединение(Адрес,,,,,,Новый ЗащищенноеСоединениеOpenSSL);
    HTTPЗапрос = Новый HTTPЗапрос(СтрокаЗапроса);
    Ответ = СоединениеHTTP.Получить(HTTPЗапрос);
    Если Ответ.КодСостояния = 200 Тогда//успешно

        Текст = Ответ.ПолучитьТелоКакСтроку();
        Сообщить(Текст);
        
    КонецЕсли;
    
КонецПроцедуры
9 Enot_tut
 
13.03.20
16:05
(8) это работает, теперь как легче обратиться сюда?

<div class="n-product-price-cpa2__price"><span class="price">1 590&nbsp;₽</span></div>
10 Enot_tut
 
17.03.20
14:27
вопрос еще возник если смотреть код через браузер то он выдает такой код
<div class="price-line" style="margin-bottom:20px;">
        <span class="old">25 750.-</span>        
          <span class="price sale" style="font-size: 30px;font-family: 'Stem',sans-serif;font-weight: 500;">24 463.-</span>
        <span class="percent">-5%</span>  
</div>

в блоке див есть вся инфа(полная стоимость, сумма со скидкой и процент скидки), теперь когда я загружаю тот же сайт то 1с выдает мне это  

<div class="price-line" style="margin-bottom:20px;">
                <span class="price" style="font-size: 30px;font-family: 'Stem',sans-serif;font-weight: 500;">25 750.-</span>
              </div>

куда делась все остальное? не как не пойму тот же сайт
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс