我是android开发人员并且在php中有一些知识。我需要在php中发布帖子请求。我找到了两种方法来实现它。
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。使用Simple 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 );
但是,我只是想知道哪种方式更好更有效,为什么呢? 是否有任何服务器/浏览器或任何与平台相关的问题? 或者还有其他技术可以实现吗? 欢迎提出建议。谢谢
答案 0 :(得分:1)
最佳实现方式始终是
因为这是最快的&更可靠..
答案 1 :(得分:0)
如果您只是从通过Android JAVA代码调用启动的PHP脚本发送JSON回复,那么最简单且可能禁用的只是来自PHP脚本的echo
JSON字符串。
即
<?php
// read the $_POST inputs from Android call
// Process whatever building an array
// or better still an object containing all
// data and statuses you want to return to the
// android JAVA code
echo json_encode($theObjectOrArray);
exit;
这样,它就是同一个帖子/响应的一部分。如果你参与了CURL,你就会打破简单的生命周期。