【发布时间】:2017-02-13 18:40:20
【问题描述】:
也许这个问题之前已经回答过了,但是我测试了我在网上找到的所有东西,但无法让它工作...... 我必须用 PHP 形成这种请求。
- 卷曲 X POST "https://page.com/login/CODE" \
- H "接受:应用程序/json, text/*;q=0.2" \
- H "AcceptCharset: utf8" \
- H "AcceptEncoding: gzip, deflate" \
- d '{"appCode": "CODE"}' \
- --cacert cacert.pem \
- --压缩
这是我的 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 数组,另外按摩登录错误。
不知道这是什么文本/*;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 当我像这样复制和粘贴标题信息时 内容类型:application/json
在 sublime 上,它通常用破折号 (-) 显示,但是当我用记事本 ++ 等其他软件打开时,它显示没有破折号。 内容类型:application/json
这就是我的代码不起作用的问题:)
【问题讨论】:
-
text/*;q=0.2" 被称为媒体类型质量因子,用于为文件分配优先级,在这种情况下,纯文本在 0 到 1 范围内的优先级为 0.2
-
这可能是它不起作用的原因吗?
-
不,您没有设置 curl 所需的所有选项