我想使用Prolog进行HTTP GET请求,并携带请求头,但我不知道如何确切地实现。
以下是在Python中执行此操作的示例:
response = unirest.get("https://poker.p.mashape.com/index.php?players=3",
headers={
"X-Mashape-Key": "mykey",
"Accept": "application/json"
}
这个请求的响应是Json格式的,看起来像这样:
{
"player_cards": {
"1": [
"Jh",
"4c"
],
"2": [
"3s",
"Js"
],
"3": [
"3d",
"5c"
],
"4": [
"Kh",
"Qs"
]
},
"showdown": [
"Ks",
"6h",
"4s",
"Ac",
"9h"
],
"winning_hands": {
"1": [
"4c",
"4s",
"Ac",
"Ks",
"Jh"
],
"2": [
"Ac",
"Ks",
"Js",
"9h",
"6h"
],
"3": [
"Ac",
"Ks",
"9h",
"6h",
"5c"
],
"4": [
"Kh",
"Ks",
"Ac",
"Qs",
"9h"
]
},
"winners": [
4
]
}
我的Prolog代码
poker(Players) :-
format(atom(HREF),'https://poker.p.mashape.com/index.php?players=~s',[Players]),
http_get(HREF,Json,[]),
如何在此处指定http get请求头,以及我如何存储和使用Json结果?该函数必须打印Json结果,我知道可以通过writeln()实现。