Erro 500 ao tentar capturar imagem via C#

Moderadores: SuporteIntelbras, Moderador

larissamartins
Registrado
Mensagens: 2
Registrado em: 03 Ago 2020, 10:21

Erro 500 ao tentar capturar imagem via C#

Mensagem por larissamartins »

Bom Dia,

Estou tentando capturar uma imagem da câmera VIPS3020 G2 através da URL http://192.168.0.13:80/cgi-bin/snapshot.cgi?channel=1 onde:

192.168.0.13 = ip da câmera
80 = servidor

Ao inserir esta URL pelo Postman ou pelo navegador (Chrome ou Internet Explorer), a requisição retorna corretamente (Status 200) juntamente com a imagem.

Porém, ao realizar a mesma requisição pelo navegador, é retornado o seguinte erro:
{StatusCode: 500, ReasonPhrase: 'Internal Server Error', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
Connection: close
Content-Length: 0
}}


Segue código abaixo:

Código: Selecionar todos

        private static readonly string _cameraUsername = ConfigurationManager.AppSettings["CameraUsername"].ToString();
        private static readonly string _cameraPassword = ConfigurationManager.AppSettings["CameraPassword"].ToString();
        private HttpClient _httpClient { get; set; }

        public WebHttpClient(HttpClient httpClient)
        {
            _httpClient = httpClient;
            _httpClient.DefaultRequestHeaders.Add("Authorization", "Basic " + _cameraUsername + ":" + _cameraPassword);
        }
       
         public async Task<byte[]> GetByteArrayAsync(string uriPath)
        {
            try
            {
                _httpClient.MaxResponseContentBufferSize = 101500;
                var httpResponse = await _httpClient.GetAsync(uriPath);
                return new byte[10];
               // return httpResponse;
            }
            catch(Exception ex)
            {
                var url = $"{_httpClient.BaseAddress}{uriPath}";
                var teste = ex;
                return new byte[10];
            }
        }


Response Headers do navegador:
Cache-Control: no-cache
CONNECTION: close
CONTENT-LENGTH: 100744
Content-type: image/jpeg
Pragma: no-cache
Avatar do usuário
IntelbrasCFTV
Administrador
Mensagens: 10149
Registrado em: 25 Mai 2015, 09:58
Contato:

Re: Erro 500 ao tentar capturar imagem via C#

Mensagem por IntelbrasCFTV »

larissamartins escreveu:Bom Dia,

Estou tentando capturar uma imagem da câmera VIPS3020 G2 através da URL http://192.168.0.13:80/cgi-bin/snapshot.cgi?channel=1 onde:

192.168.0.13 = ip da câmera
80 = servidor

Ao inserir esta URL pelo Postman ou pelo navegador (Chrome ou Internet Explorer), a requisição retorna corretamente (Status 200) juntamente com a imagem.

Porém, ao realizar a mesma requisição pelo navegador, é retornado o seguinte erro:
{StatusCode: 500, ReasonPhrase: 'Internal Server Error', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
Connection: close
Content-Length: 0
}}


Segue código abaixo:

Código: Selecionar todos

        private static readonly string _cameraUsername = ConfigurationManager.AppSettings["CameraUsername"].ToString();
        private static readonly string _cameraPassword = ConfigurationManager.AppSettings["CameraPassword"].ToString();
        private HttpClient _httpClient { get; set; }

        public WebHttpClient(HttpClient httpClient)
        {
            _httpClient = httpClient;
            _httpClient.DefaultRequestHeaders.Add("Authorization", "Basic " + _cameraUsername + ":" + _cameraPassword);
        }
       
         public async Task<byte[]> GetByteArrayAsync(string uriPath)
        {
            try
            {
                _httpClient.MaxResponseContentBufferSize = 101500;
                var httpResponse = await _httpClient.GetAsync(uriPath);
                return new byte[10];
               // return httpResponse;
            }
            catch(Exception ex)
            {
                var url = $"{_httpClient.BaseAddress}{uriPath}";
                var teste = ex;
                return new byte[10];
            }
        }


Response Headers do navegador:
Cache-Control: no-cache
CONNECTION: close
CONTENT-LENGTH: 100744
Content-type: image/jpeg
Pragma: no-cache



Olá

Não consegui entender como está ocorrendo o erro.

Ele ocorre logo após uma segunda chamada desta mesma url?
Nos colocamos a disposição.

--
Suporte Técnico Intelbras
Telefone: (48) 2106-0006
Whatsapp: (48) 2106-0006
Chat: https://bit.ly/2vLXbg6
E-mail: suporte@intelbras.com.br

Este é o seu espaço para se conectar com outros e compartilhar conhecimento.
Acesse: forum.intelbras.com.br
larissamartins
Registrado
Mensagens: 2
Registrado em: 03 Ago 2020, 10:21

Re: Erro 500 ao tentar capturar imagem via C#

Mensagem por larissamartins »

Olá,

O erro ocorre sempre que a requisição é feita via C#, independente se é primeira, segunda ou terceira chamada.

Quando a mesma URL é inserida no navegador o erro não ocorre.
Avatar do usuário
IntelbrasCFTV
Administrador
Mensagens: 10149
Registrado em: 25 Mai 2015, 09:58
Contato:

Re: Erro 500 ao tentar capturar imagem via C#

Mensagem por IntelbrasCFTV »

larissamartins escreveu:Olá,

O erro ocorre sempre que a requisição é feita via C#, independente se é primeira, segunda ou terceira chamada.

Quando a mesma URL é inserida no navegador o erro não ocorre.


Certo.

Não prestamos suporte à nível de programação. Como a câmera funciona normalmente através da url, não seria um problema relacionado com o API.

Verifique se todos os parâmetros da câmeras estão sendo fornecidos pelo seu código:
usuário, senha, ip, porta, canal e tipo de stream.
Nos colocamos a disposição.

--
Suporte Técnico Intelbras
Telefone: (48) 2106-0006
Whatsapp: (48) 2106-0006
Chat: https://bit.ly/2vLXbg6
E-mail: suporte@intelbras.com.br

Este é o seu espaço para se conectar com outros e compartilhar conhecimento.
Acesse: forum.intelbras.com.br
tbisol
Membro
Mensagens: 6
Registrado em: 14 Ago 2020, 16:30

Re: Erro 500 ao tentar capturar imagem via C#

Mensagem por tbisol »

Boa Tarde!

Vi pelo seu codigo enviado, que vc nao esta colocando o seu usuario e senha em BASE64.

tenta isso antes de conectar

Convert.ToBase64String(Encoding.Default.GetBytes(usernamePassword)
Responder

Voltar para “VIP S3020 G2 - Câmera bullet IP”