2011-08-17 19 views
5

私は現在、あるアプリケーションで作業しています。そのアプリケーションでは を使用しなければなりません。 getメソッドは正しく動作しますが、ポストメソッドでは突然応答があります。http postメソッドを使用してヘッダを設定する方法

"invalid method.post required".. 

そのために私のコードは次のとおりです。私はsomethinfまたは私はいけないことを、すべてのその事をknow..is POSTメソッドに対して有効であるが行方不明だということで

 String list_url = "************************"; 
    try { 

     String appand = TimeStampForAuth.TimeStameMethod(main.this); 
     String auth = android.util.Base64.encodeToString(("iphone" + ":" + 
      "2a5a262d5a") 
     .getBytes("UTF-8"), android.util.Base64.NO_WRAP); 

     DefaultHttpClient client = new DefaultHttpClient(); 
     HttpPost post = new HttpPost(list_url+appand); 

     Log.d("URL_LIST", list_url+appand); 

     List nvps = new ArrayList(); 
     nvps.add(new BasicNameValuePair("login",Login)); 
     nvps.add(new BasicNameValuePair("password",password)); 
     nvps.add(new BasicNameValuePair("title",title)); 
     nvps.add(new BasicNameValuePair("category_id",cat_id)); 




     UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(nvps,HTTP.UTF_8); 
     post.addHeader("Authorization", "Basic " + auth); 
     post.setEntity(p_entity); 
     HttpResponse response = client.execute(post); 
     HttpEntity responseEntity = response.getEntity(); 
     String s = EntityUtils.toString(responseEntity); 
     Log.d("List response", s); 

    } 
    catch(Exception e){ 
     System.out.println(e.toString()); 
    } 

....

あなたは、Androidのために4.1のHttpClientを試みることができるsetHeader()代わりのaddHeader()

+0

それはサーバー側の問題だろうか?既にRESTClient-Addonでリクエストを開始しようとしましたか? – Tima

+0

サーバサイドからの問題はありません。サーバー側の要求は、このメソッドを使用して取得要求として送信できます。可能です。私には助けてください。私はこのコードで何が間違っているのかわかりません。 – Kutbi

+0

ar、リクエストは取得されません。ブレークポイントでデバッグしようとしました – Tima

答えて

1

をあなたに感謝...できるだけ早期

を助けてください。http://code.google.com/p/httpclientandroidlib/ (Androidが使用するHttpClientバージョン4.0にはバグがあります) さらに、httpClient.log.enableDebug(true)を使用してデバッグすることもできます。

外部ライブラリを使用したくない場合は、ネットワークトラフィックのデバッグを開始します。 Wiresharkというソフトウェアを使用すると、すべてのHttpリクエスト/レスポンスを非常によく確認して調べることができます。 。

承認のために私は個人的に使用します。

httpClient.getCredentialsProvider().setCredentials(
    new AuthScope(hostname, port), 
    new UsernamePasswordCredentials(user, pass)); 
+0

addHeader()の代わりにsetHeader()を変更するのは問題ありませんでしたが、変更はありませんでした。???週の前に正しい応答を返します。事は適切です... – Kutbi

1

を使用してみてください.........

-1

使用これは、代わりに:

HttpURLConnection connection = (HttpsURLConnection) serviceURL.openConnection(); 
    connection.setRequestMethod("POST"); 
関連する問題