Имя: Пароль:
1C
 
Проблема с запросом GET
0 Студиозус
 
06.03.20
14:59
Надо получить простейшие данные запросом к сайту через Get

Код:

СоединениеHHTP = Новый HTTPСоединение("master.dsf.ac-test.nl/api"); //адрес сервера без http
HTTPЗапрос = Новый HTTPЗапрос;
HTTPЗапрос.АдресРесурса = "https://master.dsf.ac-test.nl/api/brand";;
HTTPЗапрос.Заголовки.Вставить("Authorization",         "Basic " + КодироватьСтрокуВBASE64(Логин) + ":" + КодироватьСтрокуВBASE64(Пароль));

Ответ = СоединениеHHTP.Получить(HTTPЗапрос);

В ответе прилетает код состояния 404

Что ни так в коде???
1 Студиозус
 
06.03.20
15:03
+ 0

И вот такую штуку мне пишет на странице отладки этого сайта

yii\base\InvalidRouteException: Unable to resolve the request "api/https://master.dsf.ac-test.nl/api/brand";. in /var/lib/jenkins/workspace/dsf_master/vendor/yiisoft/yii2/base/Module.php:537
Stack trace:
#0 /var/lib/jenkins/workspace/dsf_master/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction('api/https://mas...', Array)
#1 /var/lib/jenkins/workspace/dsf_master/vendor/yiisoft/yii2/base/Application.php(386): yii\web\Application->handleRequest(Object(yii\web\Request))
#2 /var/lib/jenkins/workspace/dsf_master/web/index.php(12): yii\base\Application->run()
#3 {main}

Next yii\web\NotFoundHttpException: Страница не найдена. in /var/lib/jenkins/workspace/dsf_master/vendor/yiisoft/yii2/web/Application.php:115
Stack trace:
#0 /var/lib/jenkins/workspace/dsf_master/vendor/yiisoft/yii2/base/Application.php(386): yii\web\Application->handleRequest(Object(yii\web\Request))
#1 /var/lib/jenkins/workspace/dsf_master/web/index.php(12): yii\base\Application->run()
#2 {main}
2 Студиозус
 
06.03.20
15:04
Нихрена не могу понять что тут вообще пишется.
Помогите пожалуйста.
3 ДенисЧ
 
06.03.20
15:05
HTTPЗапрос.АдресРесурса = "/api/brand";;

Для начала
4 Студиозус
 
06.03.20
15:15
(3) Убрал, спасибо.
Главного вопроса это не решило.
5 Garykom
 
гуру
06.03.20
15:31
(4) КодироватьСтрокуВBASE64(Логин) + ":" + КодироватьСтрокуВBASE64(Пароль))

гыгы
6 Студиозус
 
06.03.20
15:36
(5) Мозг нее.и
По существу что сказать можешь?
7 Garykom
 
гуру
06.03.20
15:41
(6) По существую могу сказать что мануалы читать надо и писать КодироватьСтрокуВBASE64(Логин+":"+Пароль)
8 Garykom
 
гуру
06.03.20
15:43
И подскажи "jenkins" это где?
9 Ц_У
 
06.03.20
15:46
СоединениеHHTP = Новый HTTPСоединение("master.dsf.ac-test.nl",80,"demo","demo");
    HTTPЗапрос = Новый HTTPЗапрос;
    HTTPЗапрос.АдресРесурса = "/api/brand";

возвращает 401 - неавторизован
10 Студиозус
 
06.03.20
15:49
(7) А с чего ты взял что эта функция у меня так написана и что в ней делается?
11 arsik
 
гуру
06.03.20
15:56
(9) Ну не факт, что там basic аутентификация
12 Студиозус
 
06.03.20
16:00
(11)
Из 3 строчек документации данного сайта.

Запросы к API производятся посредством методов HTTP GET и POST. Запросы должны сопровождаться заголовком
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
13 Garykom
 
гуру
06.03.20
16:06
(12) Покажи где ты в "QWxhZGRpbjpvcGVuIHNlc2FtZQ==" увидел ":" ????
14 Garykom
 
гуру
06.03.20
16:09
(13) к (10)

Я тебе написал как правильно надо по https://tools.ietf.org/html/rfc7617

To receive authorization, the client

   1.  obtains the user-id and password from the user,

   2.  constructs the user-pass by concatenating the user-id, a single
       colon (":") character, and the password,

   3.  encodes the user-pass into an octet sequence (see below for a
       discussion of character encoding schemes),

   4.  and obtains the basic-credentials by encoding this octet sequence
       using Base64 ([RFC4648], Section 4) into a sequence of US-ASCII
       characters ([RFC0020]).
15 SalavatUlaev
 
06.03.20
16:16
А у тебя в принципе работает сервис. Сделай лог в Postman или SoapUI можешь выложить вместо паролей xxxx
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.