Jump to content

Recommended Posts

В 01.08.2020 в 20:29, ВиталийC сказал:

Спасибо! жду

Решение:

Запрос отправляем методом POST,  в заголовке не отправляем content-type=application/json, отправляем его в url и там же method=PUT.

Я пока просто прикрутил железную ссылку на камеру.

function get_request_url(server_index, resource, additional){
    if (server_index !== -2) {
        var data = servers_array[server_index];
    } else {
        var data = temp_server;
    }
    //console.log(server_index);
    if (data.temp_pass === null) {
        var pass = data.password;
    } else {
        var pass = data.temp_pass;
    }
    var request = data.server_ip + ':' +data.port + resource +'?content-type=application/json&authorization=Basic%20'+ utf8_to_b64(data.user+':'+pass);
    if (additional != '' && typeof additional  != "undefined") {
        request += '&' + additional;
    }
    return request;
}

function http_request_of_resource (server_index , resource, auth_attempt, option, method, options) {
    var request = get_request_url(server_index, resource,'');
    var req_ = new XMLHttpRequest();
    if (typeof method === 'undefined') {
        req_.open('GET', 'http://'+ request, true);
        options = '';
    } else {
        request = get_request_url(server_index, resource,'method=PUT');
        req_.open('POST', 'http://'+ request, true);
    }
    req_.onreadystatechange = function() {
        if (this.readyState == 2) {
            if (this.status == 401) {
                RPC_UpdateNessecaryMethod(mth_get_server_info,  'unauthorized',server_index, undefined, false);
            }
        } else if (this.readyState === 4) {
            if (this.status === 0) {
                RPC_UpdateNessecaryMethod(mth_get_server_info,  'server_is_not_available',server_index);
            }
            if (this.status == 200) {
                if (auth_attempt) hideModal();
                update_nessecary_structure(resource, this.responseText, server_index, option);
            }
        }
    };
    req_.setRequestHeader('Accept', 'application/json');
    req_.send(options);
}

function PTZ_control(server_index) { 
    var resource = '/cameras/7/ptz/pan-tilt/relative'; //Это берем из запроса инфы от камеры 
    var options = {
        x: 10,
        y: 0,
        speed: 2
    }
    options = JSON.stringify(options);
    http_request_of_resource (server_index , resource, false, '', 'PUT', options);       
}

Share this post


Link to post
Share on other sites
В 03.08.2020 в 14:52, russki666 сказал:

И так же не могу обещать что исправления будут в 7-ке

Какую версию нужно поставить, что-бы ответ из следующего поста заработал? У меня 7.7.0-demo_x64

POST http://192.168.1.32:9786/cameras/0/ptz/pan-tilt/relative?content-type=application/json&authorization=Basic%20d2ViOmFkbWlu

405 (Method Not Allowed)

    1. Request URL:
      http://192.168.1.32:9786/cameras/0/ptz/pan-tilt/relative?content-type=application/json&authorization=Basic%20d2ViOmFkbWlu
    2. Request Method:
      POST
    3. Status Code:
      405 Method Not Allowed
    4. Remote Address:
      192.168.1.32:9786
    5. Referrer Policy:
      no-referrer-when-downgrade
  1. Response Headersview source
    1. Access-Control-Allow-Origin:
      *
    2. Connection:
      Keep-Alive
    3. Content-Length:
      165
    4. Content-Type:
      text/html; charset=UTF-8
    5. Date:
      Sat, 08 Aug 2020 10:32:04 GMT
    6. Server:
      Devline Linia Server
  2. Request Headersview source
    1. Accept:
      application/json
    2. Accept-Encoding:
      gzip, deflate
    3. Accept-Language:
      ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
    4. Connection:
      keep-alive
    5. Content-Length:
      24
    6. Content-Type:
      text/plain;charset=UTF-8
    7. Host:
      192.168.1.32:9786
    8. Origin:
      http://192.168.1.32:8088
    9. Referer:
      http://192.168.1.32:8088/index.html
    10.  
      User-Agent:
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 OPR/69.0.3686.95
  3. Query String Parametersview sourceview URL encoded
    1. content-type:
      application/json
    2. authorization:
      Basic d2ViOmFkbWlu
  4. Request Payloadview source
    1. {x: 10, y: 0, speed: 2}
      1. speed: 2
      2. x: 10
      3. y: 0

Share this post


Link to post
Share on other sites

Версия правильная, должно работать.
Вы в строке не указали после авторизации method=PUT

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By SergeyB
      Добрый день,
      На камерах "рыбий глаз", в интерфейсе самой камеры есть несколько вариантов показа изображения Live View Mode, хотелось бы иметь возможность изменять просмотр (отображение вида) в "Наблюдательном посту", а так же в просмотре из архива.
      Конкретно интересуют камеры hikvision DS-2CD2942F и другие модели данного производителя с разверткой в 360
      Если я пропустил данный функционал, прошу направить меня в нужном направлении...
×