2016-09-23 3 views
-3

Je dois remplacer boucle avec file_get_content (j'ai supprimé des informations sensibles):Remplacer boucle avec 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 

Je tryed cela, mais le travail doens't (il rien retour):

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

Pourquoi ?

+0

Qu'obtenez-vous lorsque vous exécutez cette URL dans le navigateur? – Exception

+1

vous remplacez une commande cURL 'shell' avec un php file_get_contents ... quel est votre véritable objectif ici? – YvesLeBorg

+0

Lorsque vous avez une URL dans une URL, l'URL interne DOIT être 'urlencode()' ed. Si vous n'obtenez rien, il serait utile d'afficher le journal des erreurs ou au moins les en-têtes et le code d'état renvoyés par l'appel. – DanFromGermany

Répondre

3

Vous ne savez pas pourquoi vous souhaitez remplacer cURL par file_get_contents, mais au moins, assurez-vous de coder la chaîne de requête que vous essayez d'utiliser. Vous pouvez utiliser http_build_query pour obtenir des résultats corrects

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