【发布时间】:2021-03-18 06:40:25
【问题描述】:
我正在尝试使用 PHP 和 cURL 调用 Rest API。由于 Firewall(F5) 限制,端点 URL 重定向到“my.policy”,设置一些 cookie 并再次将其重定向回所需的端点 URL。
为了管理这个重定向和设置cookie,我发现curl -b cookie.txt -c cookie.txt -d cookie.txt -Lvk https://myendpointurl这个命令有助于在下一次重定向时自动存储和设置cookie,并且运行良好。
但是如何在 PHP 中实现呢?
我尝试设置 COOKIEJAR 和 COOKIEFILE 文件并将 FOLLOWLOCATION 设置为 true,但没有成功。
curl_setopt($curl_request, CURLOPT_URL, $url);
curl_setopt($curl_request, CURLOPT_POST, 1);
curl_setopt($curl_request, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($curl_request, CURLOPT_HEADER, 1);
curl_setopt($curl_request, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl_request, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl_request, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_request, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_request, CURLOPT_POSTREDIR, CURL_REDIR_POST_301);
curl_setopt($curl_request, CURLINFO_HEADER_OUT, 1);
curl_setopt($curl_request, CURLOPT_COOKIEJAR, dirname(__FILE__) .'/cookies.txt');
curl_setopt($curl_request, CURLOPT_COOKIEFILE, dirname(__FILE__) .'/cookies.txt');
如何在PHP和cURL中执行上述curl命令?
【问题讨论】: