Я хочу сделать простой HTTPRequest для php-скрипта, и я попытался сделать самые простые приложения, чтобы получить функциональность. Я хочу проверить, что мое приложение отправляет данные, которые я кормлю, поэтому я отправил приложение для Android на сервер, и этот сервер должен отправить мне данные, которые я вложил в приложение. Код для функции «postData» - это передача данных с android на сервер, а код для «default.php» - это получающийся php-файл на веб-сервере, который затем пересылает данные на мой адрес электронной почты (не указан). Вот кодHTTP POST на Android
public void postData() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://somewhere.net/default.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("thename", "Steve"));
nameValuePairs.add(new BasicNameValuePair("theage", "24"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
//HttpResponse response = httpclient.execute(httppost);
// Execute HTTP Post Request
ResponseHandler<String> responseHandler=new BasicResponseHandler();
String responseBody = httpclient.execute(httppost, responseHandler);
//Just display the response back
displayToastMessage(responseBody);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
, а также для «default.php»
<?php
$thename=$_GET["thename"];
$theage=$_GET["theage"];
$to = "[email protected]";
$subject = "Android";
$body = "Hi,\n\nHow are you," . $thename . "?\n\nAt " . $theage . " you are getting old.";
if (mail($to, $subject, $body))
{
echo("<p>Message successfully sent!</p>");
}
else
{
echo("<p>Message delivery failed...</p>");
}
?>
Вот ссылки на код в Pastebin: postData() и default.php
я получаю по электронной почте, однако данные, отправленные «thename» и «theage», кажутся пустыми. Точная полученная электронная почта «Привет, Как вы ,? У вас стареет». , который указывает мне, что сервер отправляет thename и theage как пустые. Кто-нибудь из вас пробовал это раньше? Что я делаю неправильно? Огромное спасибо за то, что вы нашли время, чтобы прочитать мой код и, если возможно, ответить на мои вопросы.
EDIT: Очень идиотично меня -> «GETS» необходимо изменить на «POST». Оставляя его здесь для архивных целей :)
Thanx просто попытался его, и он работает. Примите как можно скорее, как только смогу. – user901898