2017-11-21 5 views
0

私はトークンを取るが、私は問題がある。ルビーHTTPリクエストポストメソッド

マイコード:今、あなたは私がこれを前提とするつもりだいくつかの情報を掲載していることを

Unsupported Media Type 
415 

APIのドキュメント

URL /api/authentication/:id/:password Method POST 
URL Params Required: id=[Integer] password=[String] hashed in sha256 
Data 
    Params None 
    Success Response: Code: 200 OK 
    Content: {"authToken":"eyJhbGciOiJIUzI1NiJ9...", "expires": "2017-10-11T12:13:47.441"} 
    Error Response: Code: 401 Unauthorized 
    Content: {"Status":"Wrong Password"} Code: 401 Unauthorized 
    Content: {"Status":"User doesn't exist"} 
+0

具体的なご期待はありますか?いいえ、あなたはパラメータなしで指定されたURLへの投稿要求を単にしています。 415は、ペイロード形式がサポートされていないことを意味しますが、POSTリクエストにペイロードがないため、これは驚くべきことではありません。あなたはおそらく 'application/json'や' text/xml'のようなContent-Typeヘッダーを指定する必要がありますが、私はこのサービスが期待していることを確信しています – engineersmnky

+0

idとパスワードのようなURLにパラメータを追加します –

+0

大学のWebサイトに接続しようとすると、このサイトにapiを書く人は、私にこれを教えてください:url = URI( "https://ams.iaau.edu.kg/api/authentication/13010106044/sha-256 hash") –

答えて

0

オーケー:

require 'uri' 
require 'net/http' 
url = URI.parse('https://ams.iaau.edu.kg/api/authentication/id/password') 
http = Net::HTTP.new(url.host, url.port) 
http.use_ssl = (url.scheme == 'https') 
request = Net::HTTP::Post.new(url.path) 
response = http.request(request) 
puts response.message 
puts response.code 

私はこのような出力を持っています応答はjsonであるため、json APIです。

Updateは予想通り、私は今あなたがあなたの元のコードを希望した場合、私はIDまたはパスワード

を持っていないので、私は解決策を発見した不正な401を取得しています

require 'uri' 
require 'net/http' 
uri = URI.parse('https://ams.iaau.edu.kg/api/authentication/id/password') 
http = Net::HTTP.new(uri.host, uri.port) 
http.use_ssl = (uri.scheme == 'https') 
response = http.send_request('POST',uri.request_uri) 

代わりにこれを試してみてください要求のコンテンツタイプを直接設定している

require 'uri' 
require 'net/http' 
url = URI.parse('https://ams.iaau.edu.kg/api/authentication/id/password') 
http = Net::HTTP.new(url.host, url.port) 
http.use_ssl = (url.scheme == 'https') 
request = Net::HTTP::Post.new(url.path) 
request.content_type = 'application/json' # HERE 
response = http.request(request) 
+0

今私は:悪い要求、400 –

+0

それはいくつかのthinsgを試して、あなたに戻って取得するために私は401を取得コンテンツタイプの有無と401を取得するので – engineersmnky

+0

@MaratTynarbekovこれを使って更新されたポストを見てください私は資格なしで得ることができる限り401を取得しています – engineersmnky