Quelle est la façon la plus simple de faire un appel JSON à partir de la ligne de commande? J'ai un site Web qui effectue un appel JSON pour récupérer des données supplémentaires.
Request Payload comme indiqué dans Google Chrome ressemble à ceci:
{"version": "1.1", "method":"progr","id":2,"params":{"call":...} }
Il s'agit de faire l'appel depuis (de préférence) la ligne de commande linux et de récupérer le contenu JSON, pas d'analyser les données JSON entrantes.
Utilisez curl, en supposant que les données sont POST, quelque chose comme
curl -X POST http://example.com/some/path -d '{"version": "1.1", "method":"progr","id":2,"params":{"call":...} }'
Si vous récupérez simplement les données avec un GET et que vous n'avez pas besoin d'envoyer quoi que ce soit à des paramètres d'URL de barre, vous exécutez simplement curl http://example.com/some/path
Vous pouvez également utiliser wget:
wget -O- --post-data='{"some data to post..."}' \
--header='Content-Type:application/json' \
'http://www.example.com:9000/json'
curl --request POST \
--url http://localhost:8099/someservice/services/boo \
--header 'authorization: Basic dkfhsdlepwmdseA==' \
--header 'cache-control: no-cache' \
--header 'content-type: application/json' \
--data '{"value": "24.127.1212.123"}'
Vous pouvez utiliser wget
avec post-file
aussi, ce que j'ai trouvé utile.
wget --post-file=[file] --header=Content-Type:application/json [URL]
Vous pouvez conserver le contenu dans le fichier et le contenu sera envoyé en tant que données post
.
Avez-vous regardé curl ? Il est très bon pour faciliter les requêtes HTTP GET/POST via la ligne de commande.
par exemple. (pour une demande GET):
C:\WINDOWS>curl "http://search.Twitter.com/search.json?q=twitterapi&result_type=
popular"
{"results":[{"from_user_id_str":"32316068","profile_image_url":"http://a2.twimg.
com/profile_images/351010682/twitblock_profile_normal.png","created_at":"Thu, 25
Nov 2010 14:37:46 +0000","from_user":"twitblockapp","id_str":"7805146834669569"
,"metadata":{"result_type":"popular","recent_retweets":10},"to_user_id":null,"te
xt":"blocking and reporting functions are currently failing. @TwitterAPI have be
en notified. http://j.mp/id5w3m","id":7805146834669569,"from_user_id":32316068,"
geo":null,"iso_language_code":"en","to_user_id_str":null,"source":"<a href=&q
uot;http://Twitter.com" rel="nofollow">Tweetie for Mac</a&g
t;"}],"max_id":9607558079713280,"since_id":0,"refresh_url":"?since_id=9607558079
713280&q=twitterapi","results_per_page":15,"page":1,"completed_in":0.012698,"sin
ce_id_str":"0","max_id_str":"9607558079713280","query":"twitterapi"}