PHP 脚本没有收到我从 Android 应用程序发送的 POST 请求。 我试图解决它,但直到现在还没有好的结果:( 我正在使用异步任务来发出 POST 请求。 当我从 Web 浏览器运行 PHP 脚本时,它可以正常工作。
我正在使用异步任务:
"edge_media_to_caption": {
"edges": [
{
"node": {
"text": **"Summer is a state of mind.\n\n#locobeachresort #locoland #beachlife #batroun"**
}
}
]
},
"edge_media_to_caption": {
"edges": [
{
"node": {
"text": **"Sunshine is the best medicine.\n\n#locobeachresort #locoland #beachlife #batroun"**
}
}
]
},
还有:
private class zarejestrujUzytkownika extends AsyncTask<Void, Void, String> {
ProgressDialog dialog = null;
@Override
protected void onPreExecute() {
dialog = ProgressDialog.show(SignIn.this, "Rejestruję nowego użytkownika...", "Proszę czekać...", true);
}
@Override
protected String doInBackground(Void... arg0) {
String message = "";
serverPHP dbOperationsPHP = new serverPHP();
message = dbOperationsPHP.rejestracjaUser3(userName, mailAddress, userPassword, userRower, userLokalizacja);
return message;
}
@Override
protected void onPostExecute( String message) {
wyswietlKomunikat(message);
dialog.dismiss();
}
}
PHP 文件如下。当我从 Web 浏览器运行此文件时,没有错误。
public String rejestracjaUser3(String userName, String userMail, String userPassword, int userRower, int userLokalizacja)
{
String err = "";
Map<String,String> params = new HashMap<String, String>();
params.put("php_userName", userName);
params.put("php_userMail", userMail);
params.put("php_userPass", userPassword);
params.put("php_userRower", String.valueOf(userRower));
params.put("php_userLokalizacja", String.valueOf(userLokalizacja));
params.put("php_comNUM", "fghy3568bhdt67ujsa45671b");
StringBuilder sbParams = sbParamsPereparation(params);
String paramsString = sbParams.toString();
Log.d("param0001", paramsString);
//Inny sposob wygeneroiwania parametrow
String data = null;
try {
data = URLEncoder.encode("php_userName", "UTF-8")
+ "=" + URLEncoder.encode(userName, "UTF-8");
data += "&" + URLEncoder.encode("php_userMail", "UTF-8") + "="
+ URLEncoder.encode(userMail, "UTF-8");
data += "&" + URLEncoder.encode("php_userPass", "UTF-8")
+ "=" + URLEncoder.encode(userPassword, "UTF-8");
data += "&" + URLEncoder.encode("php_userRower", "UTF-8")
+ "=" + URLEncoder.encode(String.valueOf(userRower), "UTF-8");
data += "&" + URLEncoder.encode("php_userLokalizacja", "UTF-8")
+ "=" + URLEncoder.encode(String.valueOf(userLokalizacja), "UTF-8");
data += "&" + URLEncoder.encode("php_comNUM", "UTF-8")
+ "=" + URLEncoder.encode("fghy3568bhdt67ujsa45671b", "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Log.d("param0001", data);
//Koniec inny sposob wygenerowania parametrow
try{
String url = servURL + "add_user.php";
Log.d("url_main", url);
URL urlObj = new URL(url);
//HttpURLConnection conn = (HttpURLConnection) urlObj.openConnection();
URLConnection conn = urlObj.openConnection();
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
//conn.setRequestMethod("POST");
//conn.setRequestProperty("Accept-Charset", "UTF-8");
//conn.setReadTimeout(10000);
//conn.setConnectTimeout(15000);
//conn.connect();
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write( data );
wr.flush();
/*
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
Log.d("test0001", String.valueOf(wr.size()));
wr.writeBytes(data);
Log.d("test0002", String.valueOf(wr.size()));
wr.flush();
wr.close();
*/
} catch (IOException e) {
e.printStackTrace();
}
return err;
}