Имя: Пароль:
1C
1С v8
HTTPЗапрос 1С, возвращает 301
,
0 Данияр
 
02.11.17
10:30
Управление торговлей", редакция 10.3 (10.3.12.3)
платформа: 1С:Предприятие 8.3 (8.3.10.2466)

перестал работать HTTPЗапрос, ничего не менял не трогал
НомерТелефонаДляПередачиВЗапрос = 9275554147 (любой номер)

HTTPЗапрос = Новый HTTPЗапрос("/api.php?action=direct&subno=" + НомерТелефонаДляПередачиВЗапрос);

HTTPСоединение = Новый HTTPСоединение("potoksms.ru");    
HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос);
    
Возврат HTTPОтвет.ПолучитьТелоКакСтроку();

подскажите что может быть
1 Данияр
 
02.11.17
10:31
HTTPОтвет.ПолучитьТелоКакСтроку()

возвращает 301, а должен название оператора
2 asady
 
02.11.17
10:34
(0) заголовок установи
3 Данияр
 
02.11.17
10:38
Заголовки = Новый Соответствие();
Заголовки.Вставить("Location", "potoksms.ru");

HTTPЗапрос = Новый HTTPЗапрос("/api.php?action=direct&subno=" + НомерТелефонаДляПередачиВЗапрос);

HTTPСоединение = Новый HTTPСоединение("potoksms.ru");    
HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос);
    
Возврат HTTPОтвет.ПолучитьТелоКакСтроку();

так тоже не работает
4 Asmody
 
02.11.17
10:40
(1) Ну так почитай в интернетах, что такое ответ 301
5 Asmody
 
02.11.17
10:42
301 Moved Permanently — запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка. Некоторые клиенты некорректно ведут себя при обработке данного кода.

Т.е., из заголовков ответа вытаскиваешь адрес из Location и делаешь новый запрос по этому адресу
6 Данияр
 
02.11.17
10:43
(5) так адрес тот же остается
7 Данияр
 
02.11.17
10:46
(2) подскажи как правильно?
8 Cyberhawk
 
02.11.17
10:46
(5) Указание нового адреса необязательно, т.е. его там может и не быть. Сайты 1С по публикации обновлений, например, этим активно пользуется (не указывает).
9 asady
 
02.11.17
10:48
10 Данияр
 
02.11.17
11:20
Тема закрыта,

    HTTPЗапрос = Новый HTTPЗапрос("/api.php?action=direct&subno=" + НомерТелефонаДляПередачиВЗапрос);
    
    ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(
            Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Авто),
            Новый СертификатыУдостоверяющихЦентровWindows());
            
    HTTPСоединение = Новый HTTPСоединение("potoksms.ru", 443, , ,  ,  , ЗащищенноеСоединение);
    HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос);
    
    Возврат HTTPОтвет.ПолучитьТелоКакСтроку();
11 Данияр
 
02.11.17
11:20
Всем спасибо
12 MM
 
02.11.17
11:24
(8) Это как, код 301 говорит, что страница переехала на новый адрес, но какой не сообщает?
(10) Сайт перешёл на обязательное шифрование.
13 Данияр
 
02.11.17
12:02
появилась след проблема, на одном сервере все ок, на другом пишет:


HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос);
по причине:
Ошибка работы с Интернет:   Удаленный узел не прошел проверку
14 Данияр
 
02.11.17
12:17
никто не сталкивался?
15 spiller26
 
02.11.17
12:20
(14) был сайт http, а стал https, естественно запросит проверку.
16 Cyberhawk
 
02.11.17
12:53
(12) "код 301 говорит, что страница переехала на новый адрес, но какой не сообщает?" // Именно: в RFC указание нового Location носит рекомендательный, а не обязательный характер