>我有一个 URL http://www.example.com?auth_key=VVAf3spUN3ZETRH0kVPg1
,当我正常打开这个 URL 时,或者如果使用 php 进行标头位置,它会将我重定向到相同的 URL,但附加了一个$_GET
值,该值成为
http://www.example.com?auth_key=VVAf3spUN3ZETRH0kVPg1&&auth_token=OTdZN36QbPNo
,然后我使用 $_GET['auth_token']
访问它的值。
有没有办法使用 cURL 或 PHP 中的任何其他方法向第一个 URL 发出请求,然后获取$_GET['auth_token']
值作为响应。
将 cURL 与 CURLOPT_RETURNTRANSFER
一起使用,您可以将CURLOPT_FOLLOWLOCATION
设置为 true,但如果启用了 safe_mode
或 open_basedir
则不能。但是,如果需要,您可以在同一手册页上找到克服此问题的功能。使用CURLOPT_HEADER
,您应该在输出字符串中看到重定向标头Location: newURL
。您可以从中提取参数,例如:
list($dummy, $location) = explode(':', $location_line, 2);
$parts = parse_url(trim($location));
if (isset($parts['query'])) {
parse_str($parts['query'], $param_map);
if (isset($param_map['auth_token'])) {
...