Имя: Пароль:
1C
1С v8
Подключение к сайту по протоколу https
,
0 ChMikle
 
01.06.20
15:21
&НаКлиенте
Процедура олучитьСтраницуСайтаЧерезHttpЗапросНаКлиенте()

    Соединение = Новый HTTPСоединение(
        СерверСайта,443,);

    Запрос = Новый HTTPЗапрос("/");
    Результат = Соединение.Получить(Запрос);
КонцеПроцедуры

Результат.КодСостояния = 400 или при защищенном соединении 301
Хотя на сайт захожу без проблем через браузер
1 ДенисЧ
 
01.06.20
15:31
Продам статью из СП про HTTPСоединение.
Дорого.
За отдельные деньги подчеркну нужные параметры...
2 ChMikle
 
01.06.20
15:32
другой сайт подключает нормально
3 ChMikle
 
01.06.20
15:32
(1) Не ругайсе начальнике ...(с)
4 ДенисЧ
 
01.06.20
15:37
(3) Я не ругаяясся. Я пытаюсь заработать )))
5 ChMikle
 
01.06.20
15:39
(4) один сайт подключает , а нужный нет ... подскажи уж за ради бога :))
6 Вафель
 
01.06.20
15:48
там есть параметр нужный
7 ChMikle
 
01.06.20
15:57
(6) Какой паарметр?
8 Вафель
 
01.06.20
15:59
см (1)
9 ChMikle
 
01.06.20
16:01
я не пойму что за статья , ткните носом ? :)
10 Ёпрст
 
01.06.20
16:04
(9) ЖКК жешь..
11 Ёпрст
 
01.06.20
16:05
а так, ошибка в 5 строке
12 ChMikle
 
01.06.20
16:10
(11) В этой
>>Запрос = Новый HTTPЗапрос("/"); ?
13 ам794123
 
01.06.20
16:12
(12)     Запрос = Новый HTTPЗапрос("/");
    //В запросе можно обратиться к нужному ресурсу и с нужными параметрами
    //Запрос = Новый HTTPЗапрос("/index.php?param1=1&param2=2");
14 ChMikle
 
01.06.20
16:15
(13) Я так понял Новый HTTPЗапрос("/"); - должен был просто корневой каталог вернуть
15 ChMikle
 
01.06.20
16:17
+(14) использую другой сайт и все возвращает
16 ам794123
 
01.06.20
16:20
(15) а что там в СерверСайта?
17 ChMikle
 
01.06.20
16:21
gorod48.ru без проблем
santehsmart.ru - 301 ошибка
18 ChMikle
 
01.06.20
16:22
https://helpme1c.ru/rabota-s-http-zaprosami-get-i-post-v-yazyke-1s-8-3-8-2-v-primerax
Вот здесь читал и разбирал код
&НаКлиенте
Процедура КакПослатьЗащищенныйHttpsЗапросКСерверуНаКлиенте()

    // Получим код страницы https://ya.ru
    // Так как для доступа к ней используется защищенный
    // протокол https - нам нужно заполнить последний
    // параметр при соединении с сервером.

    Соединение = Новый HTTPСоединение(
        "ya.ru", // сервер (хост)
        443, // порт, по умолчанию для http используется 80, для https 443
        , // пользователь для доступа к серверу (если он есть)
        , // пароль для доступа к серверу (если он есть)
        , // здесь указывается прокси, если он есть
        , // таймаут в секундах, 0 или пусто - не устанавливать
       Новый ЗащищенноеСоединениеOpenSSL()
    );

    // Получаем текст корневой страницы через GET-запрос.
    Запрос = Новый HTTPЗапрос("/");
    // Если бы нужна была другая страница, мы бы указали,
    // например, "/about" или "/news".

    Результат = Соединение.Получить(Запрос);
    Сообщить(Результат.КодСостояния);
    Сообщить(Результат.ПолучитьТелоКакСтроку());

КонецПроцедуры
19 ам794123
 
01.06.20
16:27
(17) тогда нужно обратиться к админам сайта, что-то там изменено
20 ДенисЧ
 
01.06.20
16:28
(17) А если 301, что в заголовках ответа?
21 ChMikle
 
01.06.20
16:30
КлючИЗначение    КлючИЗначение    "Server"    "nginx/1.16.0"
КлючИЗначение    КлючИЗначение    "Date"    "Mon, 01 Jun 2020 13:30:08 GMT"
КлючИЗначение    КлючИЗначение    "Content-Type"    "text/html"
КлючИЗначение    КлючИЗначение    "Transfer-Encoding"    "chunked"
КлючИЗначение    КлючИЗначение    "Location"    "https://www.santehsmart.ru:443/";
КлючИЗначение    КлючИЗначение    "Connection"    "keep-alive"
КлючИЗначение    КлючИЗначение    "Strict-Transport-Security"    "max-age=31536000;"
КлючИЗначение    КлючИЗначение    "X-Content-Type-Options"    "nosniff"
22 ДенисЧ
 
01.06.20
16:42
Ну так
КлючИЗначение    КлючИЗначение    "Location"    "https://www.santehsmart.ru:443/";;

Само за себя говорит...
23 ChMikle
 
01.06.20
16:44
(22) а как исправить или что делать ?
24 ptiz
 
01.06.20
16:44
(0) 301 - это не ошибка
25 ChMikle
 
01.06.20
16:45
(24)301 - запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка. Некоторые клиенты некорректно ведут себя при обработке данного кода
Вы про это ?
26 ДенисЧ
 
01.06.20
16:45
(23) Сходить по указанному адресу - не предлагать?
27 ChMikle
 
01.06.20
16:47
(26) так он вроде ничем не отличается от исходного ?
28 ДенисЧ
 
01.06.20
16:49
(27) Отличается... Я тебе уже намекнул про параметры HTTPСоединение.... Аль не?
29 ChMikle
 
01.06.20
16:50
(28) я в этой теме не силен , скажи прямо : "Валенок , смотри тут надо так ... " :) и пример параметра
30 ДенисЧ
 
01.06.20
16:52
(29) 7й параметр задай. Например, как Новый ЗащищенноеСоединение()
31 ChMikle
 
01.06.20
16:58
(30) Соединение = Новый HTTPСоединение("santehsmart.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL());

Задавал - но результат тот же :)
32 Ёпрст
 
01.06.20
17:05
(31) порт задай 443
33 ChMikle
 
01.06.20
17:08
(332) задавал, он и так автоматически подставляет порт 443 если задаешь значение параметра ЗащищенноеСоединение
34 ChMikle
 
01.06.20
17:09
разобрался :) там 301 это пересылка на другой адрес
35 ChMikle
 
01.06.20
17:10
ИмяHTMLФайла =ПолучитьимяВременногоФайла();
Соединение = Новый HTTPСоединение("santehsmart.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос("/");
Ответ =Соединение.Получить(Запрос,ИмяHTMLФайла);

Если Ответ.КодСостояния = 200 Тогда // Данные получены, обрабатываем их
        Содержимое = Ответ.ПолучитьТелоКакСтроку();
    ИначеЕсли Ответ.КодСостояния = 301 Тогда // Данные получены, обрабатываем их
    Перенаправление = Ответ.Заголовки.Получить("Location");    
    URI = ОбщегоНазначенияКлиентСервер.СтруктураURI(Перенаправление);

    Соединение = Новый HTTPСоединение(URI.Хост, URI.Порт,,,,,
        Новый ЗащищенноеСоединениеOpenSSL());
    Запрос = Новый HTTPЗапрос(URI.ПутьНаСервере);    
    Результат =  Соединение.Получить(Запрос);
    Иначе
        
    возврат;    
КонецЕсли;

Результат.КодСостояния = 200 :))))
36 Ёпрст
 
01.06.20
17:13
(35)  с вас 500 рублёв за консультацию
37 ChMikle
 
01.06.20
17:14
(36) так ведь, это , сам дошел ... дело-то не в 443 порте было :)
38 ChMikle
 
01.06.20
17:25
А так, спасибо всем неравнодушным :), код верный выложил. Может кому-то и пригодится
Ошибка? Это не ошибка, это системная функция.