我已经尝试了几个小时来让一个脚本工作,该脚本将遵循相对 url。
问题的快速总结。
我正在使用FOLLOWLOCATION
跟踪 URL 的选项,但是当 url 是:
/redirectPage.html
curl 像这样跟随它:
localhost/redirectPage.html
这是我的代码:
$ch = curl_init();
//set options
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiejar);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, 'CURL_HTTP_VERSION_1_1');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
$content = curl_exec($ch);
curl_close($ch);
我发现的几个“解决方案”涉及解析 DOM 文档并用绝对 URL 替换 href 属性,但我正在寻找一个允许我仍然使用FOLLOWLOCATION
. 有没有办法在 curl 中设置一个基本 URL,或者捕获FOLLOWLOCATION
选项中跟随的重定向 url 并附加一个字符串?
请帮忙。