用file_get_content替换curl

时间:2016-09-23 12:18:38

标签: php curl file-get-contents

我需要用file_get_content替换curl(我已经删除了敏感信息):

curl -F 'client_id=aaa' \
    -F 'client_secret=bbb' \
    -F 'grant_type=authorization_code' \
    -F 'redirect_uri=http://testtest.altervista.org/instagram/' \
    -F 'code=ccc' \
    https://api.instagram.com/oauth/access_token

我试过这个但是没有用(它什么都不返回):

$url = 'https://api.instagram.com/oauth/access_token?client_id=aaa&client_secret=bbb&grant_type=authorization_code&redirect_uri=http://testtest.altervista.org/instagram/&code=ccc';
print json_decode(file_get_contents($url));    

为什么?

1 个答案:

答案 0 :(得分:3)

不确定为什么要将cURL更改为file_get_contents,但我至少要确保对您尝试使用的查询字符串进行编码。您可以使用http_build_query来获得正确的结果

$query = array(
    'client_id' => 'aaa',
    'client_secret' => 'bbb',
    'grant_type' => 'authorization_code',
    'redirect_uri' => 'http://testtest.altervista.org/instagram/',
    'code' => 'ccc
);

$domain = 'https://api.instagram.com/oauth/access_token?'
$url = $domain . http_build_query($data);
print json_decode( file_get_contents($url) );