【问题标题】:How to get api data using api keys in httparty ruby如何在 httparty ruby​​ 中使用 api 密钥获取 api 数据
【发布时间】:2021-06-29 12:34:30
【问题描述】:

我一直在尝试使用 httparty 获取 api 数据并一直这样做

require 'httparty'

doc = HTTParty.get('http://ip-api.com/php/105.49.23.183')

puts doc['status']

api 响应是

a:14:{s:6:"status";s:7:"success";s:7:"country";s:5:"Kenya";s:11:"countryCode";s:2:"KE";s:6:"region";s:2:"30";s:10:"regionName";s:16:"Nairobi Province";s:4:"city";s:7:"Nairobi";s:3:"zip";s:5:"09831";s:3:"lat";d:-1.25909;s:3:"lon";d:36.7858;s:8:"timezone";s:14:"Africa/Nairobi";s:3:"isp";s:17:"Safaricom Limited";s:3:"org";s:3:"SFC";s:2:"as";s:25:"AS33771 Safaricom Limited";s:5:"query";s:13:"105.49.23.183";}

但是当我运行我的脚本时的输出只是 status 但我需要它返回响应status 键的数据,即success。我无法弄清楚如何做到这一点。最初在 python 中这个方法有效,但是 ruby​​ 是不同的

【问题讨论】:

    标签: ruby api httparty


    【解决方案1】:

    只需使用JSON formatted API 端点:

    require 'httparty'
    doc = HTTParty.get('http://ip-api.com/json/105.49.23.183')
    puts doc['status']
    #=> "success"
    

    请注意 URL 路径中的 json 而不是 php。无论如何,serialized PHP 端点已被弃用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多