UPDATE 3HttpURLConnection ответ возвращается
Все работает сейчас. Я использовал this и this, вместо того, что я использовал для POST.
UPDATE 2
Я только заметил, что если я кладу обновления на нисходящем порядке, кажется, лучше организованы.
Я отредактировал свой код в своем OP (внизу), добавил несколько комментариев и заменил считыватель входного потока ReadHttpResponse(String url)
от here
. Это заставило меня разделить мой PHP-скрипт на update.php и get.php вместо updateandget.php.
Оказалось, что get.php работает нормально, в ограниченном смысле, что он просто запрашивает данные (не публикуя никаких значений). Файл update.php или Java, обрабатывающий соединение с этим URL-адресом, каким-то образом запутывается.
По крайней мере, я определил, что я не размещаю правильно. Я также обновил OP, чтобы показать update.php.
OP
Это мой код работает на doInBackground() команды AsyncTask
try{
//HttpURLConnection<-url.openConnection()
URL url = new URL(address);
HttpURLConnection conn =(HttpURLConnection) url.openConnection(); //remember to close
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(false);
// Write data to Server
//exctract parameters
String username = (String)arg0[0];
String lastLong = (String)arg0[1];
String lastLat = (String)arg0[2];
//encode parameters
String data = URLEncoder.encode("username", "UTF-8")+ "=" + URLEncoder.encode(username, "UTF-8");
data += "&" + URLEncoder.encode("lastLong", "UTF-8")+ "=" + URLEncoder.encode(lastLong, "UTF-8");
data += "&" + URLEncoder.encode("lastLat", "UTF-8")+ "=" + URLEncoder.encode(lastLat, "UTF-8");
//Build outputstream handler (socket?)
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
//write,flush,close
wr.writeBytes(data);
wr.flush();
wr.close();
// Read Server Response
//BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
//StringBuilder sb = new StringBuilder();
//String line = null;
//String returnmessage="";
//while((line = reader.readLine()) != null)
//{
// returnmessage="There is something at least";
// sb.append(line);
// break;
//}
//reader.close();
conn.disconnect();
//return returnmessage;
return ReadHttpResponse("http://www.pixeldonut.com/testing/tutorial/get.php");
}catch(Exception e){
return new String("Exception: " + e.getMessage());
}
Нет проблем чтения (или с ReadHttpResponse). Проблемы со всем остальным, по-видимому.
update.php:
<?php //lastknownlocation updateandget
//open con
$con=mysqli_connect("details");
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
die();
}
//=========================================================statistics snippet
if(array_key_exists('REMOTE_ADDR', $_SERVER)){
$ip=$_SERVER['REMOTE_ADDR'];
$address=$_SERVER['SERVER_ADDR'];
if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)){
$ip2=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ip2="_";
}
$query="INSERT INTO statistics (ip,ip2,address) VALUES (";
$query.="'$ip','$ip2','$address'";
$query.=")";//echo $query;
$db_return=mysql_query($query);
if(!$db_return){
//echo "Your entry was unsuccessfully logged.";
}else{
//echo "Your entry was successfully logged.";
}
}
//==============================================================================
//update-insert
$username = $_POST['username'];
$param1= $_POST['param1'];
$param2= $_POST['param2'];
$query = "UPDATE users SET";
$query .=" param1='$param1'";
$query .=",param2='$param2' ";
$query .="WHERE username='$username'";//echo $query;
$result = mysqli_query($con,$query);
if(!result){
//couldnt find user, aborting
die();
}
//close con
mysqli_close($con);
?>
Спасибо за вашу неизменную поддержку и энтузиазм, Ebichuhamster.
Это должно помочь. [отправка запроса по почте в java] (http://stackoverflow.com/questions/4205980/java-sending-http-parameters-via-post-method-easily) – MjZac
@MjZac Я ценю ссылку. Я использую OutputStreamWriter, и ответ на этот вопрос предложил DataOutputStream. Я сейчас пытаюсь это сделать. – ebichuhamster
@MjZac Это не сработало :( – ebichuhamster