다음은 웹 URL에 데이터를 POST하기 위해 appache를 사용하는 코드입니다. 백엔드와 상호 작용하는 응용 프로그램의 주요 논리는 데이터를 URL (PHP)에 게시하고 PHP가 데이터베이스 등을 사용하기위한 로직을 실행한다는 것입니다. ......android에서 멀티 엔티티와 함께 SSL을 사용하는 방법
SSL을 구현하는 방법을 알고 있습니까? 아니면 PHP 프로그램을 변경하고, "http"대신 "https"로 시작하는 웹 사이트의 Android 측 POST를 변경해야합니까? 감사합니다
protected class FormHandler extends AsyncTask<Object, Void, JSONObject> {
private FormListener listener;
private ProgressDialog pd;
public FormHandler() {
pd = ProgressDialog.show(ctx,"", ctx.getResources().getString(R.string.loading),true);
}
@Override
protected JSONObject doInBackground(Object... params) {
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
listener = (FormListener) params[0];
// Wordpress default parameter
builder.addTextBody("_wpcf7", "610");
builder.addTextBody("_wpcf7_version", "3.7.2");
builder.addTextBody("_wpcf7_locale", "en_US");
builder.addTextBody("_wpcf7_unit_tag", "wpcf7-f610-p611-o1");
builder.addTextBody("_wpnonce", "4ddf1f1d07");
builder.addPart("your-firstname", new StringBody((String) params[1], ContentType.create("text/plain", Consts.UTF_8)));
builder.addPart("your-lastname", new StringBody((String) params[2], ContentType.create("text/plain", Consts.UTF_8)));
builder.addPart("your-email", new StringBody((String) params[3], ContentType.create("text/plain", Consts.UTF_8)));
builder.addPart("your-question", new StringBody((String) params[4], ContentType.create("text/plain", Consts.UTF_8)));
builder.addPart("your-details", new StringBody((String) params[5], ContentType.create("text/plain", Consts.UTF_8)));
builder.addTextBody("_wpcf7_is_ajax_call", "1");
// Set timeout (1 minute)
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, Constant.uploadTimeout);
HttpConnectionParams.setSoTimeout(httpParameters, Constant.uploadTimeout);
HttpClient client = new DefaultHttpClient(httpParameters);
HttpPost post = new HttpPost(Constant.formURL);
HttpEntity entity = builder.build();
post.setEntity(entity);
try {
HttpResponse response = client.execute(post);
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
StringBuilder strBuild = new StringBuilder();
for (String line = null; (line = reader.readLine()) != null;) {
strBuild.append(line).append("\n");
}
String result = strBuild.toString().replace("<textarea>", "").replace("</textarea>", "");
JSONTokener tokener = new JSONTokener(result);
if (tokener != null)
return (new JSONObject(tokener));
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(JSONObject result) {
if(pd != null) {
pd.dismiss();
}
if(result != null) {
try {
if (result.getString("mailSent").equals("true"))
listener.submitComplete();
else
listener.submitFailure();
} catch (JSONException e) {
listener.submitFailure();
}
} else {
Utility.showErrorDialog(ctx, getResources().getString(R.string.sys_info), getResources().getString(R.string.err_submit), getResources().getString(R.string.close));
}
}
}