私はPHPスクリプトに簡単なHTTPRequestを作成したいと思いますし、機能を動作させるために最も基本的なアプリケーションを作ろうとしました。私は、私のアプリが私がそれをフィードするデータを送信していることをテストしたい、アンドロイドのアプリをサーバーに送信し、そのサーバーは、私がアプリに入れたデータを私に送信するはずです。 "postData"関数のコードはアンドロイドからサーバーにデータを送信するためのコードで、 "default.php"のコードはウェブサーバー上の受信PHPファイルで、データは自分のメールアドレス(指定されていない)に転送されます。ここではここでコードAndroid上でのHTTP POST
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>");
}
?>
はペーストビン内のコードへのリンクです: postData()とdefault.php
私はしかし、電子メールを受け取ります"thename"と "theage"が送信されたデータは空であるように見えます。受け取った正確な電子メールは です "こんにちは、 元気? あなたは古くなっています。 これは、サーバーが名前と空を空として送信していることを示しています。あなたの誰かがこれを前に試しましたか?私は間違って何をしていますか? 私のコードを読んでタイムアウトを取ってくれてありがとう、ありがとう、私の質問に返信してくれてありがとう。
編集:私の非常にばかげた - > "GETS"は "POST"に変更する必要があります。アーカイブの目的でここに残してください:)
ありがとうはちょうどそれを試してみましたが、それが動作します。できるだけ早く正しいと認めます。 – user901898