0
我需要一些帮助翻译以下shell脚本调用到PHPPHP JSON API客户端调用
curl -3 --cookie /tmp/cookie --cookie-jar /tmp/cookie --insecure --data "login=login" --data "username=admin" --data "password=password" URL-HERE/login
curl -3 --cookie /tmp/cookie --cookie-jar /tmp/cookie --insecure --data "json={'cmd':'get-data', 'id':'1'}" URL-HERE/api
我在与第一curl命令一些困难。
得到尽可能:
$curl=curl_init();
curl_setopt($curl,CURLOPT_RETURNTRANSFER ,1);
curl_setopt($curl,CURLOPT_HEADER , 1);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl,CURLOPT_COOKIEJAR, "/tmp/cookie");
curl_setopt($curl,CURLOPT_COOKIEFILE, "/tmp/cookie");
curl_setopt($curl,CURLOPT_TIMEOUT,10000);
curl_setopt($curl,CURLOPT_URL,"URL-HERE/login");
curl_setopt($curl,CURLOPT_POST ,1);
$post = array(
"username" => 'admin',
"password" => 'password',
"login" => 'login',
);
curl_setopt($curl,CURLOPT_POSTFIELDS,$post);
echo curl_exec($curl);
这似乎总是呈现从URL HERE /登录的登录表单,并使用上述cookie的后续JSON请求似乎失败,错误消息“需要是在尝试这些请求之前登录“。但是,上面的两个shell命令完美无缺地工作。
我正确的想法 - 数据参数变成后变量。而JSON数据是一个名为“json”的帖子字段,其内容已由json_encode()
返回?
这工作。只要我使用相同的cookie进行后续的API调用。 – cell0 2011-12-30 14:11:57