JuliaLang / MbedTLS.jl

Wrapper around mbedtls
Other
41 stars 50 forks source link

MbedTLS error code -28800 #223

Open pfarndt opened 4 years ago

pfarndt commented 4 years ago

I am trying to retrieve some webpage using HTTP.jl. Though the thrown error seems to be MbedTLS related:

using HTTP
url = "https://www.uni-bonn.de/"
HTTP.request("GET", url)

which will throw an error:

ERROR: IOError(MbedTLS error code -28800: SSL - The requested feature is not available during request(https://www.uni-bonn.de/))

Stacktrace:
 [1] handshake(::MbedTLS.SSLContext) at /home/arndt/.julia/packages/MbedTLS/NdT4r/src/ssl.jl:83
 [2] handshake! at /home/arndt/.julia/packages/MbedTLS/NdT4r/src/MbedTLS.jl:134 [inlined]
 [3] sslconnection(::Sockets.TCPSocket, ::SubString{String}; require_ssl_verification::Bool, sslconfig::MbedTLS.SSLConfig, kw::Base.Iterators.Pairs{Symbol,Nothing,Tuple{Symbol},NamedTuple{(:iofunction,),Tuple{Nothing}}}) at /home/arndt/.julia/packages/HTTP/GkPBm/src/ConnectionPool.jl:685
 [4] #getconnection#29 at /home/arndt/.julia/packages/HTTP/GkPBm/src/ConnectionPool.jl:669 [inlined]
 [5] newconnection(::HTTP.ConnectionPool.Pod, ::Type{T} where T, ::SubString{String}, ::SubString{String}, ::Int64, ::Bool, ::Int64; kw::Base.Iterators.Pairs{Symbol,Nothing,Tuple{Symbol},NamedTuple{(:iofunction,),Tuple{Nothing}}}) at /home/arndt/.julia/packages/HTTP/GkPBm/src/ConnectionPool.jl:583
 [6] getconnection(::Type{HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}}, ::SubString{String}, ::SubString{String}; connection_limit::Int64, pipeline_limit::Int64, idle_timeout::Int64, reuse_limit::Int64, require_ssl_verification::Bool, kw::Base.Iterators.Pairs{Symbol,Nothing,Tuple{Symbol},NamedTuple{(:iofunction,),Tuple{Nothing}}}) at /home/arndt/.julia/packages/HTTP/GkPBm/src/ConnectionPool.jl:527
 [7] request(::Type{ConnectionPoolLayer{StreamLayer{Union{}}}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::Array{UInt8,1}; proxy::Nothing, socket_type::Type{T} where T, reuse_limit::Int64, kw::Base.Iterators.Pairs{Symbol,Nothing,Tuple{Symbol},NamedTuple{(:iofunction,),Tuple{Nothing}}}) at /home/arndt/.julia/packages/HTTP/GkPBm/src/ConnectionRequest.jl:73
 [8] request(::Type{ExceptionLayer{ConnectionPoolLayer{StreamLayer{Union{}}}}}, ::HTTP.URIs.URI, ::Vararg{Any,N} where N; kw::Base.Iterators.Pairs{Symbol,Nothing,Tuple{Symbol},NamedTuple{(:iofunction,),Tuple{Nothing}}}) at /home/arndt/.julia/packages/HTTP/GkPBm/src/ExceptionRequest.jl:19
 [9] (::Base.var"#58#60"{Base.var"#58#59#61"{ExponentialBackOff,HTTP.RetryRequest.var"#2#3"{Bool,HTTP.Messages.Request},typeof(HTTP.request)}})(::Type{T} where T, ::Vararg{Any,N} where N; kwargs::Base.Iterators.Pairs{Symbol,Nothing,Tuple{Symbol},NamedTuple{(:iofunction,),Tuple{Nothing}}}) at ./error.jl:301
 [10] #request#1 at /home/arndt/.julia/packages/HTTP/GkPBm/src/RetryRequest.jl:44 [inlined]
 [11] request(::Type{MessageLayer{RetryLayer{ExceptionLayer{ConnectionPoolLayer{StreamLayer{Union{}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}; http_version::VersionNumber, target::String, parent::Nothing, iofunction::Nothing, kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /home/arndt/.julia/packages/HTTP/GkPBm/src/MessageRequest.jl:51
 [12] request at /home/arndt/.julia/packages/HTTP/GkPBm/src/MessageRequest.jl:28 [inlined]
 [13] request(::Type{BasicAuthLayer{MessageLayer{RetryLayer{ExceptionLayer{ConnectionPoolLayer{StreamLayer{Union{}}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /home/arndt/.julia/packages/HTTP/GkPBm/src/BasicAuthRequest.jl:28
 [14] request at /home/arndt/.julia/packages/HTTP/GkPBm/src/BasicAuthRequest.jl:21 [inlined]
 [15] request(::Type{RedirectLayer{BasicAuthLayer{MessageLayer{RetryLayer{ExceptionLayer{ConnectionPoolLayer{StreamLayer{Union{}}}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}; redirect_limit::Int64, forwardheaders::Bool, kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /home/arndt/.julia/packages/HTTP/GkPBm/src/RedirectRequest.jl:24
 [16] request(::Type{RedirectLayer{BasicAuthLayer{MessageLayer{RetryLayer{ExceptionLayer{ConnectionPoolLayer{StreamLayer{Union{}}}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}) at /home/arndt/.julia/packages/HTTP/GkPBm/src/RedirectRequest.jl:21
 [17] request(::String, ::String, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}; headers::Array{Pair{SubString{String},SubString{String}},1}, body::Array{UInt8,1}, query::Nothing, kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /home/arndt/.julia/packages/HTTP/GkPBm/src/HTTP.jl:314
 [18] request at /home/arndt/.julia/packages/HTTP/GkPBm/src/HTTP.jl:314 [inlined] (repeats 2 times)
 [19] top-level scope at REPL[6]:1

Retrieving other webpages, e.g. url = "https://www.berlin.de/" works fine. Retrieving the above url via

read(`curl -s $url`, String)

also works (and would be a workaround).