2017-01-16 2 views
0

ich möchte mit API verbinden.aber ich muss Daten mit Post senden, aber in JSON erhalten.wie man Daten mit POST sendet und mit json in php empfängt

<?php 
$params = array (
'user_name' => '1521', 
'user_password' => '8554', 
'webservice_user'=>'test', 
'token'=>'202cb962ac59075b964b07152d234b70'); 
$query = http_build_query ($params); 
$contextData = array (
'method' => 'POST', 
'header' => "Connection: close\r\n". 
"Content-Length: ".strlen($query)."\r\n", 
'content'=> $query); 
$context = stream_context_create (array ('http' => $contextData)); 
// Read page rendered as result of your POST request 
$json = file_get_contents('url_here'); 
$obj = json_decode($json); 
echo $obj->access_token; 
$result = file_get_contents (
'IP_ex/login', 
false, 
$context); 
echo($result); 
?> 

, wenn ich meinen Code ausführen, erhalten diese Fehler:

file_get_contents(url_here): failed to open stream

+0

Mögliche Duplikate von [JSON Post mit PHP senden] (http://StackOverflow.com/Questions/6213509/Send-JSON-Post-using-PHP) – bashoogzaad

Antwort

1

Um in im JSON-Format zu erhalten, sollten Sie echo json_encode($myArray) tun als

<?PHP 
header('Content-Type: application/json'); 
echo json_encode($myArray); 

, wenn Sie einen Beitrag senden möchten Anfrage an einen Server, sollten Sie cURL oder etwas ähnliches verwenden.

+0

Ich werde dankbar sein, mir sehr einfaches Beispiel – user2254798

+0

dieses zu geben ist einfach http://stackoverflow.com/a/29601842/1640606, aber Sie müssen die Guzzle-Bibliothek herunterladen. oder dieses für curl http://stackoverflow.com/a/2138534/1640606 – samayo