|
Как получить полный URL из HTTP-запроса и HTTP-соединения? | ☑ | ||
|---|---|---|---|---|
|
0
SleepyHead
гуру
17.03.26
✎
09:42
|
Добрый день. В этих запросах я полный чайник.
Требуется наладить взаимодействие по API с неким сервером. Создание HTTP-соединения и HTTP-запроса освоил. Теперь в заголовки нужно добавить токен, который формируется по требованиям: "При каждом запросе в HTTP-заголовке указать Authorization строку вида: Bearer X.Z, где X - часть X исходного ключа, а Z - строка, сгенерированная по следующему алгоритму: Построить строку S вида: C.Y.D.U, где C - некая соль (строка) из обработки-загрузчика (сервер ее знает), Y - часть Y исходного ключа, D - текущая дата запроса в формате YYYY-MM-DD, U - полный УРЛ запроса к АПИ Выполнить хэширование строки S с помощью алгоритма SHA-256. Результатом будет искомое значение Z." Итак, я создаю HTTP-соединение, указываю адрес сервера, порт, и прочие параметры. Далее создаю HTTP-запрос, в заголовки которого нужно вставить этот токен. Но не понимаю, как получить ПОЛНЫЙ URL в этот момент. Методов объектов HTTP-соединения и HTTP-запроса для этого не вижу. Прошу помощи специалистов. |
|||
|
1
Мультук
гуру
17.03.26
✎
09:48
|
||||
|
2
SleepyHead
гуру
17.03.26
✎
09:50
|
(1) Спасибо, это я читал и на инфостарте. Но там ответа на мой вопрос нет.
|
|||
|
3
evgen48
17.03.26
✎
09:50
|
Все должно быть указано в документации к API. В Соединении указываешь адрес API, например
HTTPСоединение("sandbox.pay.yandex.ru/api/merchant", 443,,,,120,новый ЗащищенноеСоединениеOpenSSL,Ложь); в запросе адрес ресурса, например HTTPЗапрос("/v1/orders/{order_id}",Заголовки); Токен указываешь в заголовках |
|||
|
4
Мультук
гуру
17.03.26
✎
09:55
|
(3)
И давно ли 1С (номер версии, пожалуйста) так умеет ? В том смысле "так" -- открывать соединение к такому имени сервера. HTTPСоединение("sandbox.pay.yandex.ru/api/merchant", 443,,,,120,новый ЗащищенноеСоединениеOpenSSL,Ложь); |
|||
|
5
SleepyHead
гуру
17.03.26
✎
09:57
|
(4) Вопрос не в этом. А как получить итоговый URL, когда уже создал соединение и HTTP_запрос ?
|
|||
|
6
Мультук
гуру
17.03.26
✎
10:02
|
(5)
1) В документации никаких примеров ? 2) Служба поддержки молчит как рыба об лёд ? 3) Что такое итоговый урл ? 4) Если поддержка молчит, а документацию писали злобные буратины, я думаю, стоит пуститься в эксперименты а-ля ИмяСервера = "server.ru"; УрлЗапроса = "/v1/orders/getall"; ПолныйУрлЗапроса = "http://" + ИмяСервера + УрлЗапроса; ПолныйУрлЗапроса2 = ИмяСервера + УрлЗапроса; ПолныйУрлЗапроса3 = УрлЗапроса; |
|||
|
7
evgen48
17.03.26
✎
10:06
|
(4) да, лан) я просто как пример, я не из 1с кода копировал, а просто адреса из документации)
|
|||
|
8
SleepyHead
гуру
17.03.26
✎
10:06
|
(6) В техподдержке коллеги, для которых это настолько очевидно, что и упоминать не стоит. А я - тупой 1сник ))
Проявляю настойчивость. |
|||
|
9
SleepyHead
гуру
17.03.26
✎
10:10
|
Ну вот, придется создавать вручную. Коллеги ответили, как должно быть на ИХ сервере
"https://" + ИмяСервера + "/api/" + Метод + Параметры соединяем через "/" Но жаль, что нет типовых методов получения URL |
|||
|
10
Garykom
гуру
17.03.26
✎
10:28
|
(5) собрать самому
там ничего сложного нет начать со схемы |
|||
|
11
Garykom
гуру
17.03.26
✎
10:28
|
(9) эмм есть, в БСП
|
|||
|
12
SleepyHead
гуру
17.03.26
✎
10:50
|
(11) есть точнее наводка?
|
|||
|
13
АгентБезопасной Нацио
17.03.26
✎
11:29
|
(12) а не проще самому? ведь одна строка...
"http"+?(Соедиение.ЗащищенноеСоединение<>Неопределено,"s","")+"://"+Соединение.СЕрвер+"/"+Запрос.АдресРесурса |
|||
|
14
Garykom
гуру
17.03.26
✎
11:59
|
||||
|
15
SleepyHead
гуру
17.03.26
✎
15:20
|
(13) Конечно, проще. Но мне-то надо правильно, а не просто
Эксперимент покажет, устроит ли строка, собранная самостоятельно. |
|||
|
16
SleepyHead
гуру
17.03.26
✎
15:21
|
(14) Ага, это я видел и в примерах на ИТС. спасибо. Но у меня обратная задача.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |