PHPスクリプトに単純なHTTPRequestを作成したいのですが、機能を機能させるために最も基本的なアプリを作成しようとしました。アプリがフィードしたデータを送信していることをテストしたいので、Androidアプリをサーバーに送信し、そのサーバーはアプリに入れたデータを送信するはずです。「postData」関数のコードは、アンドロイドからサーバーにデータを送信することであり、「default.php」のコードは、データを私のメールアドレスに転送する Web サーバー上の受信 php ファイルです (指定されていません)。ここにコードがあります
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 = "someemail@gmail.com";
$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」に変更する必要があります。アーカイブの目的でここに残します:)