我想把一个json从android发布到一个网站。以前它工作。
经过几天的试验和错误调试,包括更换笔记本电脑和使用okhttp而不是http库,我已经在服务器上进行了调整。显然,如果我使用普通的PHP它可以工作,但当我使用代码点火器,如果返回错误404。
如果android代码不包含post变量,则服务器返回200 ok响应。
普通的PHP代码在
下面<html>
<body>
Welcome
<?php
echo $_POST["email"];
?>
</body>
</html>
codeigniter控制器代码在
之下
类索引扩展了CI_Controller {
public function __construct() {
parent::__construct();
//$this->load->model('Index_Model','im');
}
public function index()
{
echo CI_VERSION;
}
public function post()
{
echo $this->input->post('email');
}
}
codeigniter的第2版和第3版都不起作用。
Android代码
private void test(String s) {
MediaType JSON = MediaType.parse("application/json; charset=utf-8");
String url = "http://xxxxxx.co.ke/post/index.php";
url = "http://xxxxxx.co.ke/tracker3/index/post";
OkHttpClient client = new OkHttpClient();
RequestBody body = new FormEncodingBuilder()
.add("email", "Jurassic@Park.com")
.add("tel", "90301171XX")
.add("kujichocha", s)
.build();
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
Call call = client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
Log.d("Meds", "onFailure() Request was: " + request);
}
@Override
public void onResponse(Response r) throws IOException {
String response = r.body().string();
Log.d("Meds ", "onResponse(): " + response );
}
});
}