rpradosiqueira / sidrar

A R interface to IBGE's SIDRA API
87 stars 11 forks source link

Error in curl::curl_fetch_memory(url, handle = handle) : error:0A000152:SSL routines::unsafe legacy renegotiation disabled #22

Closed ppimentelmatheus closed 2 years ago

ppimentelmatheus commented 2 years ago

Olá, estou tendo esse problema reportado acima na coleta dos dados diretamente pelo Sidrar.

Error in curl::curl_fetch_memory(url, handle = handle) : error:0A000152:SSL routines::unsafe legacy renegotiation disabled

Acredito que possa ser algum problema no SSL e em alguma configuração do Ubuntu. Segue as informações do sistema operacional:

Screenshot-3

dvictori commented 1 year ago

Trombei com esse problema hoje. @ppimentelmatheus , como você resolveu? @rpradosiqueira já viu isso antes?

Aqui tem uma discussão de pessoas falando sobre um bloqueio no site do IBGE?
https://discourse.curso-r.com/t/erro-em-webscraping-unsafe-legacy-renegotiation-disabled/2117/2

> get_sidra(api = "t/839/n1/all/v/109/p/last%201/c81/allxt")

All others arguments are desconsidered when 'api' is informed
Error in curl::curl_fetch_memory(url, handle = handle) : 
  error:0A000152:SSL routines::unsafe legacy renegotiation disabled

> sessionInfo()
R version 4.2.2 Patched (2022-11-10 r83330)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.2 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0

locale:
 [1] LC_CTYPE=pt_BR.UTF-8       LC_NUMERIC=C               LC_TIME=pt_BR.UTF-8       
 [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=pt_BR.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=pt_BR.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=pt_BR.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] sidrar_0.2.9

loaded via a namespace (and not attached):
[1] httr_1.4.5     compiler_4.2.2 R6_2.5.1       magrittr_2.0.3 tools_4.2.2   
[6] curl_5.0.0    
dvictori commented 1 year ago

Mais informações.

Estou com o OpenSSL abaixo.

daniel@mancala:~$ openssl version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)

Pacote funciona normalmente no computador de um colega que tem uma versão mais velha (OpenSSL 1.1.1f 31 Mar 2020)

Segue um reprex:

library(sidrar)
info_sidra(1612)
#> Error in open.connection(x, "rb"): error:0A000152:SSL routines::unsafe legacy renegotiation disabled

Created on 2023-03-23 with reprex v2.0.2

dvictori commented 1 year ago

Resolvi o problema inserindo uma configuração no /etc/ssl/openssl.conf

O final do meu arquivo ficou assim:

(...)
[ssl_sect]
system_default = system_default_sect

[system_default_sect]
CipherString = DEFAULT:@SECLEVEL=2
Options = UnsafeLegacyRenegotiation

O que adicionei foi Options = UnsafeLegacyRenegotiation

Segui as informações desse post: https://stackoverflow.com/questions/75763525/curl-35-error0a000152ssl-routinesunsafe-legacy-renegotiation-disabled