对于http域,它可以工作,返回预期的输出,但对于https,标头为null。下面是我的尝试。
后固化
$fields = [];
$headers = ['_token: 58SkLjsNMk0', 'Authorization: 6059DLaf39d4141' ];
$cURLConnection = curl_init('<https domain>/api/auth/check');
curl_setopt($cURLConnection, CURLOPT_POSTFIELDS, $fields);
curl_setopt($cURLConnection, CURLOPT_HTTPHEADER,$headers);
curl_setopt($cURLConnection, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($cURLConnection);
curl_close($cURLConnection);
dd($res);
中间件
<?php
namespace AppHttpMiddleware;
use Closure;
class Api
{
/**
* Handle an incoming request.
*
* @param IlluminateHttpRequest $request
* @param Closure $next
* @return mixed
*/
public function handle($request, Closure $next){
return response()->json($request->header('Authorization'));
}
}
非常感谢任何帮助和建议。提前谢谢。
也许HTTPS版本中有一些30x重定向?尝试添加curl_setopt($cURLConnection, CURLOPT_FOLLOWLOCATION, true);
以使cURL遵循重定向。
此外,仅出于调试目的(!(,请尝试添加-
curl_setopt($cURLConnection, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURLConnection, CURLOPT_SSL_VERIFYPEER, false);
这些很好地禁用了根据主机/对等方的SSL证书验证证书名称。(将它们全部加在curl_exec()
之前(