我目前正在尝试向API发送POST请求,但我似乎无法理解它。
我需要做的是发送如下所述的POST请求:
POST /v2/sessions HTTP/1.1
Host: api.etilbudsavis.dk
Content-Type: application/json
Accept: application/json
{
"api_key": "YOUR_APP_KEY"
}
这是我尝试使用curl库处理它的方法之一:
$curl = curl_init("https://api.etilbudsavis.dk/v2/sessions");
$postData = array(
'api_key' => '{'.$api_key.'}'
);
curl_setopt_array($curl, array(
CURLOPT_POST => TRUE,
CURLOPT_HTTPHEADER => array(
"Host: localhost",
"Content-Type: application/json",
"Accept: application/json",
"Origin: localhost"),
CURLOPT_POSTFIELDS => json_encode($postData)
));
$response = curl_exec($curl);
if($response === FALSE){
echo 'Error<br>';
}
$responseData = json_decode($response, TRUE);
// Print the date from the response
print_r($responseData);
print_r(curl_error($curl));
我在浏览器中的输出:
Error
SSL certificate problem: unable to get local issuer certificate
我希望有人可以帮助我。
非常感谢任何帮助。
答案 0 :(得分:1)
您发送了一个虚假的Host:
标题。
此标头旨在告知托管多个虚拟主机的服务器在单个IP地址上,该请求所针对的vhost。 Curl会为您自动设置此标头,如果您试图规避DNS以开发/测试目标计算机,则只应手动覆盖此标头。