php curl - 从url解析return var

时间:2017-04-11 21:20:13

标签: php curl

我正在尝试使用cURL从Instagrams api获取code变量。 urlhttps://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code 在我的浏览器中输入https://www.myredirecturi.com?code=MY-CODE时会产生返回网址url 我想使用MY-CODE捕获cURL。 这就是我所拥有的,但它没有任何回声。

$url = "https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
//curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch);

curl_close($ch);

print_r($result);

CURLINFO_EFFECTIVE_URLCURLINFO_REDIRECT_URL都返回我从第1行输入的$url

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_exec($ch);
$last_url = curl_getinfo($ch, CURLINFO_REDIRECT_URL);
echo $last_url;
curl_close($ch);


即使我使用curl_setopt($ch, CURLOPT_HEADER, TRUE);从标题中解析出来,Location也具有相同的$url

这有效header("Location: " . $url);,但我想使用cURL

1 个答案:

答案 0 :(得分:0)

如果响应是重定向,那么您应该检查位置标题以获取网址:

var_dump(curl_getinfo($ch, CURLINFO_REDIRECT_URL));

查看http://php.net/manual/en/function.curl-getinfo.php了解详情。