我是android開發人員,並在php中有一些知識。我需要在PHP中發佈請求。我找到了兩種方法來實現它。哪一種方法可以在PHP中發送JSON請求?
1.使用CURL。
$url = "your url";
$content = json_encode("your data to be sent");
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,
array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($status != 201) {
die("Error: call to URL $url failed with status $status, response $json_response, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl));
}
curl_close($curl);
$response = json_decode($json_response, true);
2.使用簡單的POST(的file_get_contents)。
$options = array(
'http' => array(
'method' => 'POST',
'content' => json_encode($data),
'header'=> "Content-Type: application/json\r\n" .
"Accept: application/json\r\n"
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
$response = json_decode($result);
但是,我只是想知道哪個是更好和更有效的方式來做到這一點,爲什麼呢? 是否有任何服務器/瀏覽器或任何平臺相關的問題? 或者還有其他技術可以實現嗎? 建議是welcome.Thanks
可能重複的[PHP的cUrl與文件\ _get \ _contents](http://stackoverflow.com/questions/11064980/php-curl-vs-file-get-contents) –