我有一个API和前端服务。我想为每个请求发送一些标头来访问API。
这是代码。我正在使用cURL。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "backend_service.com/api/$url");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"XAUTH_KEY: ".env('XAUTH_KEY')
));
$server_output = json_decode(curl_exec($ch));
curl_close($ch);
问题是:为什么我无法通过请求访问此标头。
此代码正常运行:
if ($auth_key == getallheaders()['XAUTH_KEY']) {
return $next($request);
}
但这不起作用:
if ($request->header('XAUTH_KEY')) {
return $next($request);
}
与Ajax请求类似的问题。标题无法正确发送,但在这种情况下,即使使用getallheaders()
此处在浏览器中输出:
Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:xauth_key
Access-Control-Request-Method:DELETE
Connection:keep-alive
Host:backend_service.com
Origin:frontend_service.com
Referer:frontend_service.com/…
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/61.0.3163.100 Safari/537.36