也許這個問題得到回答之前,但我測試的一切是我一個網絡上找到,並不能使它工作... 我必須成立這種用PHP請求。PHP捲曲和API
- 捲曲X POST 「https://page.com/login/CODE」 \
- H 「接受:應用/ JSON,文本/ *; Q = 0.2」 \
- H 「AcceptCharset:UTF8」 \
- H「AcceptEncoding: gzip的,放氣」 \
- d '{ 「appCode」: 「CODE」}' \
- --cacert cacert.pem \
- --compressed
這裏是我的PHP代碼:
$data = array('appCode'=>'CODE');
$data_json = json_encode($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_CAINFO, "cacert.pem");
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_URL, URL_REQUEST);
curl_setopt($curl, CURLOPT_HEADER, FALSE);
curl_setopt($curl,CURLOPT_ENCODING , "");
//curl_setopt($ch, CURLOPT_POST, 1);
//curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_json);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
如果我得到一個正確的答案,從API它應該是一個JSON陣列,ALSE按摩登錄錯誤。
還是不知道這是什麼文字/ *; Q = 0.2" ,有什麼建議我在做什麼錯
如果有人將這裏需要幫助我的代碼:
$data = array('appCode'=>'CODE');
$data_json = json_encode($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_CAINFO, "cacert.pem");
curl_setopt_array($curl, array(
CURLOPT_URL => "https://login.com/CODE",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $data_json,
CURLOPT_HTTPHEADER => array('cache-control: no-cache'),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
最終我發現什麼是錯的。
我得到了所有的手冊在PDF文件。 我從PDF複製標題信息,並將其粘貼到 Sublime 當我複製並這樣 的Content-Type糊劑頭部信息:應用/ JSON
在昇華將其用破折號正常顯示( - ),但是當我與像記事本等軟件打開++它顯示了不帶短跑。 的ContentType:應用程序/ JSON
這是問題,爲什麼我的代碼沒有工作:)
text/*; q = 0.2「被稱爲媒體類型品質因子,用於指定文件的優先級,在這種情況下,純文本在0到1的範圍內具有0.2的優先級 –
它可能是其不工作的原因? – ekavet
沒有,你是不是設置在捲曲 –