Como fazer snapshots na VIP 1020 B ou D

Moderadores: SuporteIntelbras, Moderador

duli
Membro
Mensagens: 7
Registrado em: 31 Jan 2013, 11:57

Como fazer snapshots na VIP 1020 B ou D

Mensagem por duli »

Dica para quem deseja fazer fotos ou snapshots com a VIP 1020 B ou D em scripts ou programas automatizados.

A URL do snapshot é:

Código: Selecionar todos

http://<user>:<password>@<ip>:<port>/cgi-bin/snapshot.cgi


Exemplo:

Código: Selecionar todos

http://fulano:senha@192.168.20.145:80/cgi-bin/snapshot.cgi


Usando wget

A URL do snapshot retorna primeiro o código '401 Unauthorized' e o próprio wget, na sequência, seleciona o método de autenticação do tipo Digest, oferecendo então o nome de usuário e senha. Exemplo:

Código: Selecionar todos

$ wget http://test:test1234@192.168.10.2:8051/cgi-bin/snapshot.cgi -O picture.jpg
--2020-03-28 13:11:52--  http://test:*password*@192.168.10.2:8051/cgi-bin/snapshot.cgi
Connecting to 192.168.10.2:8051... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Authentication selected: Digest realm="Login to XU1I0705044S5", qop="auth", nonce="a18f671b-8e02-4928-b16e-6cd391eafd6f", opaque=""
Connecting to 192.168.10.2:8051... connected.
HTTP request sent, awaiting response... 200 OK
Length: 78948 (77K) [image/jpeg]
Saving to: ‘picture.jpg’

picture.jpg                   100%[==============================================>]  77.10K  --.-KB/s    in 0.06s

2020-03-28 13:11:54 (1.29 MB/s) - ‘picture.jpg’ saved [78948/78948]


Código: Selecionar todos

$ file picture.jpg
picture.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, comment: "DHAV\373", baseline, precision 8, 1280x720, frames 3


Usando o cURL

Para o cURL funcionar, é preciso especificar o uso do método de autenticação Digest, ou então especificar para que ele automaticamente passe para o método de autenticação quando receber a mensagem '401 Unauthorized'. Os dois exemplos abaixo funcionam:

Código: Selecionar todos

curl -v --digest --user test:test1234  http://192.168.10.2:8051/cgi-bin/snapshot.cgi > picture.jpg


ou

Código: Selecionar todos

curl -v --anyauth --user test:test1234  http://192.168.10.2:8051/cgi-bin/snapshot.cgi > picture.jpg


Referência: https://ec.haxx.se/http/http-auth

Usando Python

Exemplo usando a biblioteca requests:

Código: Selecionar todos

import requests

url='http://192.168.10.2:8051/cgi-bin/snapshot.cgi'
user='test'
password='test1234'
file = open("picture.jpg", 'wb')

credentials = requests.auth.HTTPDigestAuth(user, password)

with requests.get(url, auth=credentials, stream=True) as response:
    for chunk in response.iter_content(chunk_size=128):
        file.write(chunk)

file.close()


Referência: https://2.python-requests.org/en/master/user/authentication/#digest-authentication

Como se vê, foi necessário especificar o método de autenticação Digest com HTTPDigestAuth.

Espero que ajude.
tbisol
Membro
Mensagens: 6
Registrado em: 14 Ago 2020, 16:30

Re: Como fazer snapshots na VIP 1020 B ou D

Mensagem por tbisol »

Para fazer isso em C#

segui o exemplo abaixo:

Código: Selecionar todos

			Uri URLUri = new Uri(url);
                        
                        WebRequest WebRequisicao = WebRequest.Create(URLUri);
                        
                        HttpWebRequest HTTPRequisicao = (HttpWebRequest)WebRequisicao;
                        
                        NetworkCredential myNetworkCredential = new NetworkCredential("admin", "admin");
                        
                        CredentialCache myCredentialCache = new CredentialCache();
                       
                        myCredentialCache.Add(URLUri, "Digest", myNetworkCredential);
                       
                        HTTPRequisicao.PreAuthenticate = true;
                       
                        HTTPRequisicao.Credentials = myCredentialCache;
                        
                        WebResponse response = WebRequisicao.GetResponse();
Lembrar de atualizar o Firmware para a mais recente, foi corrigido essa parte de autenticação, mas a autenticação BASIC não funciona , tem q ser DIGEST

:D
Responder

Voltar para “VIP 1020 B G2 - Câmera IP Bullet 1 MP”