0

HTTPClientruby gemを介して Web サービスを呼び出しています。場所は問題ではありませんが、次の場所にあるとしましょう。https://mywebservice.com/api/v1/accounts/login/

投稿リクエストを送信すると:

url = "https://mywebservice.com/api/v1/accounts/login/"
client = HTTPClient.new
client.post url

ページが見つからないという 404 応答が返されます。私はプロキシをセットアップし、送信されたものを正確にチェックアウトしました.gemがURLを台無しにしているように見えます.実際にリクエストを送信します:

https://mywebservice.comhttps://mywebservice.com:443/api/v1/accounts/login/

私は完全に道に迷っています。なぜそれをしているのかわかりません。それがhttpsであり、httpsを別の方法で処理する必要があるという事実と関係がありますか? ありがとう

4

2 に答える 2

1

httpsはい、 URLをリクエストする場合は、次のようにします。

require 'net/http'
require 'net/https'
require 'uri'

uri = URI.parse(url)

http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
#you need to set this field to true
http.use_ssl = true 
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
response = http.request(request)

これが役立つはずのリンクです:

http://bibwild.wordpress.com/2012/04/30/httpclient-is-a-nice-http-client-forin-ruby/

于 2013-01-31T18:20:18.543 に答える
-2

一連のパラメータを使用してURIに投稿する必要があります。何かのようなもの

client.post "http://mysite.com:8080", data 

ここで、dataは、ページに必要なパラメーターを含むハッシュです。

例えば:

data = {"var" => "var"}
于 2013-01-31T15:35:15.423 に答える