rubyのnet/httpでbasic認証を突破したいです。こちらのサイトで
user・・・user
password・・・id
この記事を参考に作成しました。
ruby
1# -*- coding : utf-8 -*- 2 3require 'open-uri' 4require 'net/http' 5params = {'deviceToken' => 'hoge', 'email' => '僕のあどれす','pwd' => 'マイパスワード','type'=>'normal'} 6 7url = URI.parse('http://www.hogehoge.api') 8req = Net::HTTP::Post.new(url.path) 9req.basic_auth 'basic認証ID', 'basic認証パス' 10req.set_form_data(params) 11res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) } 12case res 13when Net::HTTPSuccess, Net::HTTPRedirection 14 p "OK" 15 p res.body 16else 17 res.value 18end 19 20
以下自分が作ったコード
ruby
1require 'net/http' 2request = Net::HTTP::Post.new("/top/index") 3request.basic_auth('user','id') 4http = Net::HTTP.new("young-refuge-27377.herokuapp.com",443) 5http.use_ssl = true #SSL通信をするためのコード 6http.verify_mode = OpenSSL::SSL::VERIFY_NONE #SSL通信をするためのコード 7a = http.request(request) 8puts a.code 9a.each do |name,value| 10 puts name + ":" + value 11end
実行結果として
cmd
1404 2server:Cowboy 3date:Thu, 01 Aug 2019 16:31:50 GMT 4connection:close 5content-type:text/html; charset=UTF-8 6x-request-id:f2cb7bf8-ffd6-409e-8ba1-ad2bbcc8dde6 7x-runtime:0.006367 8content-length:1722 9via:1.1 vegur
basic認証をするところの
userとpasswordを変更して試したのですが
結果は変わりませんでした。
そもそも、どこに問題があるのかがわからないので
参考になるリンクまたは説明をお願いします。
追記
こちらのサイトでにアクセス
するとパスが / となっていますが
ルーティング設定では以下のようになっています。
ruby
1Rails.application.routes.draw do 2 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 3 root "top#index" 4end
なのでパスをtop/indexにしたらできるのかと思いやってみたのですが
そちらも結果は変わりませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/01 23:17