0

I am trying to convert this curl command to http request to be used in Rails app controller:

curl -X POST -d url="https://i.imgur.com/StKeZaA.jpg" "https://www.filestackapi.com/api/store/S3?key=MY_FILESTACK_API_KEY"

I have tried this:

require "net/https"
require "uri"

uri = URI.parse("https://www.filestackapi.com/api/store/S3?key=MY_FILESTACK_API_KEY")
request = Net::HTTP::Post.new(uri)
request.set_form_data( "url" => "https://i.imgur.com/StKeZaA.jpg" )
req_options = { use_ssl: uri.scheme == "https" }

response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http| 
    http.request(request) 
end 

But I got this SSL error:

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed
    from /Users/ryzal/.rbenv/versions/2.3.8/lib/ruby/2.3.0/net/protocol.rb:44:in `connect_nonblock'
    from /Users/ryzal/.rbenv/versions/2.3.8/lib/ruby/2.3.0/net/protocol.rb:44:in `ssl_socket_connect'
    from /Users/ryzal/.rbenv/versions/2.3.8/lib/ruby/2.3.0/net/http.rb:928:in `connect'
    from /Users/ryzal/.rbenv/versions/2.3.8/lib/ruby/2.3.0/net/http.rb:863:in `do_start'
    from /Users/ryzal/.rbenv/versions/2.3.8/lib/ruby/2.3.0/net/http.rb:852:in `start'
    from /Users/ryzal/.rbenv/versions/2.3.8/lib/ruby/2.3.0/net/http.rb:584:in `start'
    from (irb):5
    from /Users/ryzal/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/railties-4.2.8/lib/rails/commands/console.rb:110:in `start'
    from /Users/ryzal/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/railties-4.2.8/lib/rails/commands/console.rb:9:in `start'
    from /Users/ryzal/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:68:in `console'
    from /Users/ryzal/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /Users/ryzal/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/railties-4.2.8/lib/rails/commands.rb:17:in `<top (required)>'
    from bin/rails:4:in `require'
    from bin/rails:4:in `<main>'

I am not sure if there's something wrong with the code or there's something wrong with my local machine. Can somebody point it out and help please?

Ryzal Yusoff
  • 945
  • 1
  • 18
  • 48
  • Does this answer your question? [SSL\_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed](https://stackoverflow.com/questions/4528101/ssl-connect-returned-1-errno-0-state-sslv3-read-server-certificate-b-certificat) – mechnicov Jun 02 '22 at 22:10

0 Answers0