【发布时间】:2020-10-11 22:46:21
【问题描述】:
这是我的 PHP 代码
<?php require_once '../includes/DbOperations.php'; $response = array();
if($_SERVER['REQUEST_METHOD']=='POST'){
if(isset($_POST['username']) and isset($_POST['password']) and isset($_POST['email']))
{
//operate the data further
$db = new DbOperations();
$result = $db->createUser($_POST['username'],$_POST['password'],$_POST['email']);
if($result == 1){
$response['error'] = false;
$response['message'] = "User registered successfully";
}elseif($result == 2){
$response['error'] = true;
$response['message'] = "Some error occurred please try again";
}elseif($result == 0){
$response['error'] = true;
$response['message'] = "It seems you are already registered, please choose a different email and username";
}
}else{
$response['error'] = true;
$response['message'] = "Required fields are missing";
}
}else{
$response['error'] = true;
$response['message'] = "Invalid Request";
}
echo json_encode($response);
?>
当我使用 JSON 类型标头时它不起作用
String jsonResult = null;
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("username", "33");
jsonObject.put("password", "33");
jsonObject.put("email", "33@gmail.com");
jsonResult = jsonObject.toString();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String HitURL = "http://192.xxx.xxx.xxx/Android/v1/registerUser.php";
MediaType MEDIA_PlainMT = MediaType.parse("text/plain; charset=utf-8");
Request request = new Request.Builder().url(HitURL).post(RequestBody.create(MEDIA_PlainMT, jsonResult)).build();
OkHttpClient client = new OkHttpClient();
try {
TLSSocketFactory tlsSocketFactory=new TLSSocketFactory();
if (tlsSocketFactory.getTrustManager()!=null) {
client = new OkHttpClient.Builder()
.sslSocketFactory(tlsSocketFactory, tlsSocketFactory.getTrustManager())
.build();
}
} catch (KeyManagementException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
}
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(okhttp3.Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, final Response response) throws IOException {
if (!response.isSuccessful()) {
throw new IOException("Unexpected code " + response);
} else {
String HitResponse = response.body().string();
Log.v("/CheckLog/", HitResponse);
}
}
});
结果
{"error":true,"message":"Required fields are missing"}
【问题讨论】:
-
请写下你的发送代码sn-ps
-
@ASHKARAN 我更新了我的帖子,我使用的代码被剪掉了