将 curl 替换为 file_get_content

Replace curl with file_get_content

我需要将 curl 替换为 file_get_content(我已删除敏感信息):

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

我试过了,但没用(return 什么都没有):

$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));    

为什么?

不确定为什么要将 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) );