注文する
curl "https://tools.keycdn.com/geo.json?host={18.205.6.240}"
次のJSONドキュメントを返します。
{"status":"success","description":"Data successfully received.","data":{"geo":{"host":"18.205.6.240","ip":"18.205.6.240","rdns":"ec2-18-205-6-240.compute-1.amazonaws.com","asn":14618,"isp":"AMAZON-AES","country_name":"United States","country_code":"US","region_name":"Virginia","region_code":"VA","city":"Ashburn","postal_code":"20149","continent_name":"North America","continent_code":"NA","latitude":39.0469,"longitude":-77.4903,"metro_code":511,"timezone":"America\/New_York","datetime":"2022-06-17 10:44:39"}}}
この出力からcountry_name
。
答え1
$ curl -s 'https://tools.keycdn.com/geo.json?host={18.205.6.240}' | jq -r '.data.geo.country_name'
United States
このjq
式は、を.data.geo.country_name
使用してアクセスされたエンドポイントから返されたJSON文書から指定された項目を抽出しますcurl
。
答え2
次のバージョンも利用可能な場合:REST API出力は次のとおりです。
{
"error": "none",
"message": "Success",
"data": {
"name": "Vishal Biradar",
"userId": 1,
}
}
以下は、読み方を示すスクリプトコードです。
#!/bin/bash
LOGIN_DATA=$(\
curl -d "[email protected]&password=abcd123" \
http://localhost:1234/login \
| python -c "import sys, json; print json.load(sys.stdin)['data']['name']"\
)
echo "LOGIN_DATA=$LOGIN_DATA"