2016-09-23 2 views
-3

ich curl mit file_get_content ersetzen müssen (ich habe sensible Informationen entfernt):ersetzen curl mit 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 

ich diese tryed aber doens't Arbeit (es nichts zurück):

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

Warum ?

+0

Was erhalten Sie, wenn Sie diese URL im Browser ausführen? – Exception

+1

Sie ersetzen einen 'Shell' cURL Befehl mit einem php file_get_contents ... Was ist Ihr eigentliches Ziel hier? – YvesLeBorg

+0

Wenn Sie eine URL innerhalb einer URL haben, MUSS die innere URL 'urlencode()' ed sein. Wenn Sie nichts erhalten, ist es hilfreich, das Fehlerprotokoll oder zumindest die Header und den Statuscode anzuzeigen, die vom Aufruf zurückgegeben werden. – DanFromGermany

Antwort

3

Nicht sicher, warum Sie cURL zu einem file_get_contents ändern möchten, aber ich würde zumindest sicherstellen, dass Sie den Querystring verschlüsseln, den Sie verwenden möchten. Sie könnten http_build_query verwenden, um korrekte Ergebnisse zu erhalten

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