Quantcast
Channel: 質問!ITmedia 新着質問(Java/253)
Viewing all articles
Browse latest Browse all 2439

HTTPプロトコルを使い外部サーバへアクセスする

$
0
0
皆様いつもお世話になります! 早速ですがご質問させて頂きます。 現在Androidアプリの勉強がてらHTTPプロトコルにてPOSTで外部サーバへアクセスし、DBへデータを追加するシステム(受け取りはPHP)を作っていますが、以下のエラー文言が出力され通信に失敗してしまいます。 以下がLogcatにて出力されている内容です。 「通信に失敗!java.net.SocketException: Permission denied」 「request time failed: java.net.SocketException: Address family not supported by protocol」 手持ちの参考書やサイトをみて調べたところ、パーミッションの設定をしなければならない とのことなので以下の内容をマニフェストファイルへ追加しましたが、同じエラー文言が出力されうまくいきません。 「」 以下がソースコードです。(重要だと思う部分のみ抜粋しています。) 【ソースコード】 public void onClick (View v) { if(v == btn) { Log.d("PostTest", "Postしまーす!"); try { url = new URI("http://(ドメイン)/AndroidInterfaceSample/index.php"); Log.d("PostTest", "URLはOK"); } catch (URISyntaxException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } // POSTでリクエストを構築 request = new HttpPost(url); List post_params = new ArrayList(); post_params.add(new BasicNameValuePair("res_id","○○")); post_params.add(new BasicNameValuePair("name", "○○")); post_params.add(new BasicNameValuePair("rank", "○○")); post_params.add(new BasicNameValuePair("leader", "○○")); post_params.add(new BasicNameValuePair("gameid", "○○")); post_params.add(new BasicNameValuePair("comment", "○○")); try { // 送信パラメータのエンコードを指定 request.setEntity(new UrlEncodedFormEntity(post_params, "UTF-8")); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } // POSTリクエストを実行 httpClient = new DefaultHttpClient(); try { Log.d("PostTest", "POST開始"); ret = httpClient.execute(request, new ResponseHandler(){ public String handleResponse(HttpResponse response) throws IOException { Log.d("PostTest", "レスポンスコード:" + response.getStatusLine().getStatusCode()); // 正常に受信出来た場合は200 switch (response.getStatusLine().getStatusCode()) { case HttpStatus.SC_OK: Log.d("PostTest", "レスポンス取得に成功だぜ"); // レスポンスデータをエンコード済みの文字列として取得する return EntityUtils.toString(response.getEntity(), "UTF-8"); case HttpStatus.SC_NOT_FOUND: Log.d("PostTest", "データが存在しないよ"); return null; default: Log.d("PostTest", "通信エラー"); return null; } } }); } catch (IOException e) { Log.d("PostTest", "通信に失敗!" + e.toString()); } finally { httpClient.getConnectionManager().shutdown(); } } } //ここまで どなたかお詳しいかたご教授お願い致します! 私の開発環境は ・MacOS10.6.8 ・Eclipse 4.2 ・Java 1.6.0_17 ・Android SDK Tools 21.0.1 ・PHP 5.2 ・Apache 2.X ・MySQL 5.1.34 です。 Androidに関してはとりあえず今一番新しい(2013.02.11現在)ものをインストールしました。 (あまり詳しくなくこれくらいしかわかりません>< すみません。。) 何卒宜しくお願い致します!

Viewing all articles
Browse latest Browse all 2439

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>