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