0

Web アプリケーションを PayU に接続しようとしています。私のコードは

require 'net/http'
require 'json'

uri = URI('https://test.payu.in/merchant/postservice')
req = Net::HTTP::Post.new(uri, initheader = {'Content-Type' =>'application/json'})

req.body = {key: "some key", command: "save_user_card", hash: "some code", var1: "some code",
var2: "dummy",
var3: "CC",
var4: "AMEX",
var5: "some name",
var6: "card number",
var7: "05",
var8: "2017"}.to_json

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

そして、私が得るエラーメッセージは

net/http/response.rb:41:in `read_status_line': wrong status line: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">" (Net::HTTPBadResponse)

この問題を解決するためのヒントを教えてください。

4

1 に答える 1

1

URL には https があるので、 request = URI.parse(URI.encode(request.strip)) http = Net::HTTP.new(request.host, request.port) request = Net::HTTP::Post.new のように使用します。 (request.request_uri) request.set_form_data('form'=>'2','key' => @merchant_key,'command'=>command,'hash'=>hash,'var1'=>input_array_var) http.use_ssl = true レスポンス = http.request(リクエスト)

于 2014-12-09T07:08:22.110 に答える