如何使用cURL调用

问题描述:

这将返回一个道理,就像返回数据:{“令牌”:“260e5b8adf74af6be5dfa250c5ad93c8”}如何使用cURL调用

而且我想只是想内容部分:260E ...这我想我可以得到它通过使用$ getInfo ['token'],对吧?

$user="admin"; 
$password="Moodle15!"; 
$services="moodle_mobile_app"; 

$url = "https://localhost/moodle/login/token.php?username=".$user."&password=".$password."&service=".$services.""; 

$ch = curl_init($url); 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURL_RETURNTRANSFER, true); 

$getURL = curl_exec($ch); 

$getInfo = json_decode($getURL, true); 

$displayToken = $getInfo['token']; 
echo $displayToken; 

curl_close($ch); 

我不知道CURL_RETURNTRANSFER发生了什么事。

和错误:

Notice: Use of undefined constant CURL_RETURNTRANSFER - assumed 'CURL_RETURNTRANSFER' in C:\xampp\htdocs\moodle\cURL_script.php on line 12 

Warning: curl_setopt() expects parameter 2 to be long, string given in C:\xampp\htdocs\moodle\cURL_script.php on line 12 
{"token":"260e5b8adf74af6be5dfa250c5ad93c8"} 

编辑:

如果我有:

{"id":4,"username":"Jhon","firstname":"smith","lastname":"Reches","fullname":"Jhon smith","email":"[email protected]","department":"","firstaccess":0,"lastaccess":0,"description":"","descriptionformat":1,"profileimageurlsmall":"http:\/\/localhost\/moodle\/pluginfile.php\/25\/user\/icon\/f2","profileimageurl":"http:\/\/localhost\/moodle\/pluginfile.php\/25\/user\/icon\/f1","groups":[],"roles":[{"roleid":5,"name":"","shortname":"student","sortorder":0}],"enrolledcourses":[{"id":3,"fullname":"Game Design","shortname":"Game Design"},{"id":2,"fullname":"Grup de Recerca","shortname":"Grp. Recerca"}]} 

我怎样才能查看在 '用户名'?或'全名',当你知道有很多'全名'?

EDITED2:

新的代码我现在有:

$token = "260e5b8adf74af6be5dfa250c5ad93c8"; 
$funcion="core_enrol_get_enrolled_users"; 
$courseid="3"; 
$format="json"; 
$url= "https://localhost/moodle/webservice/rest/server.php?wstoken=".$token."&wsfunction=".$funcion."&courseid=".$courseid."&moodlewsrestformat=".$format.""; 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$getURL = curl_exec($ch); 
$getInfo = json_decode($getURL, true); 
$email = $getInfo[2]['email']; 
echo $email."</br>"; 
curl_close($ch); 

现在$电子邮件包含[email protected]但我有很多的结果,我怎么能管理与显示所有的人一个foreach?因为它是一个多维数组。见下文。

[{"id":4,"username":"jhon1.smith1","firstname":"Jhon1","lastname":"Smith1","fullname":"jhon1 smith1","email":"[email protected]","department":"","firstaccess":0,"lastaccess":0,"description":"","descriptionformat":1,"profileimageurlsmall":"http:\/\/localhost\/moodle\/pluginfile.php\/25\/user\/icon\/f2","profileimageurl":"http:\/\/localhost\/moodle\/pluginfile.php\/25\/user\/icon\/f1","groups":[],"roles":[{"roleid":5,"name":"","shortname":"student","sortorder":0}],"enrolledcourses":[{"id":3,"fullname":"Game Design","shortname":"Game Design"},{"id":2,"fullname":"Grup de Recerca","shortname":"Grp. Recerca"}]},{"id":5,"username":"jhon1.smith1","firstname":"Josep","lastname":"jhon1 ","fullname":"jhon1 smith1","email":"[email protected]","department":"","firstaccess":0,"lastaccess":0,"description":"","descriptionformat":1,"profileimageurlsmall":"http:\/\/localhost\/moodle\/pluginfile.php\/26\/user\/icon\/f2","profileimageurl":"http:\/\/localhost\/moodle\/pluginfile.php\/26\/user\/icon\/f1","groups":[],"roles":[{"roleid":5,"name":"","shortname":"student","sortorder":0}],"enrolledcourses":[{"id":3,"fullname":"Game Design","shortname":"Game Design"},{"id":2,"fullname":"Grup de Recerca","shortname":"Grp. Recerca"}]},{"id":6,"username":"jhon1.smith1","firstname":"jhon1","lastname":"smith1","fullname":"jhon1 smith1","email":"[email protected]","department":"","firstaccess":0,"lastaccess":0,"description":"","descriptionformat":1,"profileimageurlsmall":"http:\/\/localhost\/moodle\/pluginfile.php\/32\/user\/icon\/f2","profileimageurl":"http:\/\/localhost\/moodle\/pluginfile.php\/32\/user\/icon\/f1","groups":[],"roles":[{"roleid":1,"name":"","shortname":"manager","sortorder":0}],"enrolledcourses":[{"id":3,"fullname":"Game Design","shortname":"Game Design"},{"id":2,"fullname":"Grup de Recerca","shortname":"Grp. Recerca"}]},{"id":7,"username":"jhon1.jhon1","firstname":"jhon1","lastname":"jhon1","fullname":"jhon1 smith1","email":"[email protected]","department":"","firstaccess":0,"lastaccess":0,"description":"","descriptionformat":1,"profileimageurlsmall":"http:\/\/localhost\/moodle\/pluginfile.php\/35\/user\/icon\/f2","profileimageurl":"http:\/\/localhost\/moodle\/pluginfile.php\/35\/user\/icon\/f1","groups":[],"roles":[{"roleid":5,"name":"","shortname":"student","sortorder":0}],"enrolledcourses":[{"id":3,"fullname":"Game Design","shortname":"Game Design"}]},{"id":8,"username":"jhon1.smith1","firstname":"jhon","lastname":"smith1","fullname":"jhon1 smith1","email":"[email protected]","department":"","firstaccess":0,"lastaccess":0,"description":"","descriptionformat":1,"profileimageurlsmall":"http:\/\/localhost\/moodle\/pluginfile.php\/41\/user\/icon\/f2","profileimageurl":"http:\/\/localhost\/moodle\/pluginfile.php\/41\/user\/icon\/f1","groups":[],"roles":[{"roleid":3,"name":"","shortname":"editingteacher","sortorder":0}],"enrolledcourses":[{"id":3,"fullname":"Game Design","shortname":"Game Design"}]}] 

,我希望:需要

[email protected]m 
[email protected] 
[email protected] 
+0

更新了更多的信息和另一个问题。 –

CURL_RETURNTRANSFER改变到CURLOPT_RETURNTRANSFER

这影响了curl_exec()返回的结果,因此您没有在$getURL中获取JSON字符串。

一旦常数得到纠正,您的代码的其余部分是正确的。

EDIT(添加):

当JSON处理,它有助于所以它更容易阅读的格式,我用jsonlint.com

然后看结构,如果您有:

$data = json_decode($response, true); 

enrolledcourses访问fullnames是:

echo $data['enrolledcourses'][0]['fullname']; 

或者,如果你使用对象符号,而不是关联数组:

echo $data->enrolledcourses[0]->fullname; 
+0

谢谢,这工作很好! –

+0

我又增加了一个问题,请问你能介意吗? –

+1

不客气,增加了访问数据的额外信息。 – drew010