【问题标题】:bad URI(is not URI?): {"message":"d64","type":"success"}错误的 URI(不是 URI?):{"message":"d64","type":"success"}
【发布时间】:2015-06-04 11:39:29
【问题描述】:

我正在使用 httparty 发送 API 请求,我想在发送请求后得到输出响应,

url = HTTParty.post("https://example.com/api/sendhttp.php",
                        :query => { :authkey => "authkeyvalue",
                                    :mobiles => mobileNos,
                                    :message => messages,
                                    :sender => "senderid",
                                    :route => "routeid",
                                    :response => 'json'
                                   })

    response = HTTParty.get(url)
    puts response.body, response.code, response.message, response.headers.inspect

但是当我运行上面的代码时,它会抛出错误的URI(is not URI?): {"message":"d64","type":"success"} 错误。如何解决并得到响应?

【问题讨论】:

标签: ruby-on-rails api httprequest httpresponse httparty


【解决方案1】:

这看起来您正在使用 JSON 格式向https://example.com/api/sendhttp.php 运行 POST,这会成功,并且您会收到以下响应:

{"message":"d64","type":"success"}

所以你的url 变量现在包含{"message":"d64","type":"success"},这显然不是一个有效的URL,所以当你尝试对其进行GET 时,你会得到一个错误。您已经收到了第一个 POST 的回复,您或许应该解析一下?你不需要这样做

response = HTTPParty.get(url)

除非您期望对第一个返回的 URL 的第二个 GET 请求。

【讨论】:

    猜你喜欢
    • 2012-02-23
    • 2011-07-19
    • 2012-04-09
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    相关资源
    最近更新 更多