0

アプリで簡単なhttp投稿を行う必要があります。

例を見つけてAsyncTaskクラスを作成しました。投稿を行う主なコードは次のとおりです。

nameValuePairs-投稿要素です

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(URL_STRING);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
HttpResponse response = httpclient.execute(httppost);
String data = new BasicResponseHandler().handleResponse(response);   

どのように私はこの例外を取得します

org.apache.http.client.HttpResponseException: Forbidden

これはどういう意味ですか?これがそのサービスが返すものである場合、完全なメッセージを表示する方法は?

また、http postを作成する他の方法がある場合は、試してみることができます:)

助けてくれてありがとう。

4

1 に答える 1

0

例外org.apache.http.client.HttpResponseExceptionは、次のように2xx以外のHTTP応答を通知します:http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/client/HttpResponseException.html

以下のように単純なhttpPOSTメソッドを使用できます。

         HttpClient httpclient = new DefaultHttpClient();    
         HttpPost httppost = new HttpPost("http://Your URL/");      
        try {        
         // Add your data        
         List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);        
         nameValuePairs.add(new BasicNameValuePair("Name1", "Value1"));        
         nameValuePairs.add(new BasicNameValuePair("Name2", "Value2"));     
         nameValuePairs.add(new BasicNameValuePair("Name3", "Value3"));    

          httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));          
        // Execute HTTP Post Request        
         HttpResponse response = httpclient.execute(httppost);             
         } 
        catch (ClientProtocolException e) 
        {       
         // TODO Auto-generated catch block    
         } 
        catch (IOException e) 
        {         
        // TODO Auto-generated catch block  
          }
于 2012-05-30T09:48:41.913 に答える