EDIT:これは私のウェブサイトのログに表示されています xx.xx.xxx.xx - [27/Jan/2012:17:42:24 -0500] "POST/dir /addData2.php HTTP/1.1" 200 - www.mywebsites.com " - " の "Java/1.7.0" " - "PHPがJavaからのPOSTリクエストを受け取りました
私は1 & 1で私のウェブサイトをホスティングしている、と私はそのページblank.php
を持ちたいですPOSTリクエストを取得してデータベースにアップロードする必要があります。私はPOSTを正しく送信していると思っています。それはどういうわけか私のウェブサイトで正しく処理されていません。私のデータベースには何も挿入されていないからです。レスポンスの内容の長さは0ですが、文字列の長さのヘッダーを送信しても、変更されることはありません。もう1つの選択肢は、ホストが遠隔の投稿リクエストを行うことを許可しないということです(まだ返信待ちです)。
私はこのようなJavaアプリケーションからのPOSTリクエストを送信します。
URL url = new URL("www.mywebsite.com/blank.php");
HttpURLConnection request = (HttpURLConnection)url.openConnection();
request.setRequestProperty("Content-type","application/x-www-form-urlencoded");
request.setRequestMethod("POST");
OutputStreamWriter post = new OutputStreamWriter(request.getOutputStream());
String data = URLEncoder.encode("account", "UTF-8") + "=" + URLEncoder.encode(message[0], "UTF-8");
data += "&" + URLEncoder.encode("message", "UTF-8") + "=" + URLEncoder.encode(message[2], "UTF-8");
data += "&" + URLEncoder.encode("type", "UTF-8") + "=" + URLEncoder.encode(message[0], "UTF-8");
post.write(data);
post.flush();
/*
/String example
/account=103&message=Feller+1391.88+0&type=103
*/
サーバーからの応答は次のとおりです。
null=[HTTP/1.1 200 OK]
Date=[Fri, 27 Jan 2012 21:59:10 GMT]
Content-Length=[0]
Keep-Alive=[timeout=2, max=200]
Connection=[Keep-Alive]
Content-Type=[text/html]
Server=[Apache]
X-Powered-By=[PHP/5.2.17]
私のWebページには、今(この基本的なPHPコードを持って改善されます/後でチェックする)
$link = mysql_connect($hostname, $username, $password);
$db_selected = mysql_select_db($database, $link);
$query = "INSERT INTO newData(account, message, type) VALUES('$_POST[account]', '$_POST[message]', '$_POST[type]')";
mysql_query($query) || die();
私はプライベートサーバーを持っていないことを指摘したいと思います。おそらくhttp://hc.apache.org/httpcomponents-core-ga/examples.htmlを使用します。今すぐJavaアプリケーションから文字列を送り、PHPで受け取ってMySQLデータベースに挿入したいだけです。
あなたの質問は曖昧です。あなたの具体的な問題/質問は何ですか?レスポンスの内容の長さは0ですか?しかし、あなたは応答に書き込むPHPコードを表示していませんか? – BalusC
さて、私の質問は私のコードとコードの例をすべて比較していますが、私のデータベースには何も挿入されていません。レスポンスへの書き込みによってあなたが何を意味するかわからないここで私の考えは、一方向のコミュニケーション、サーバーへのアプリケーション(自動応答を送信するが、私はそれに返信しなければならないと思った)である。私自身のサーバー(共有ホスティング)ではないので、私自身の応答を書くことができません – Juan
ログを見るために可能な限りすべてを行ってください。 Webサイトのトラブルシューティングには、ログへのアクセスが不可欠*です。 – paulsm4