2011-08-17 19 views
5

Attualmente sto lavorando su un'applicazione. in quell'applicazione devo usare get e postare entrambi i metodi .. get metodo funziona correttamente ma in post metodo improvvisamente ottengo la risposta comeCome impostare l'intestazione utilizzando il metodo http post

"invalid method.post required".. 

mio codice di ciò è:

 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()); 
    } 

a che mi manca somethinf o cosa che io non know..is tutto ciò che cosa è valida per il metodo di post ....

please help me il più presto possibile ...

ringraziandovi .........

+0

potrebbe essere problema lato server? già provato ad avviare la richiesta con RESTClient-Addon? – Tima

+0

non ci sono problemi da serveride..serverside richiesta di invio come richiesta di ottenere usando questo metodo..è possibile..per favore aiutami ..non so che cosa sta andando storto con questo codice .. – Kutbi

+0

ar certo, il tuo codice con post richiesta e non ottenere richiesta verrà eseguita? prova a eseguire il debug con i punti di interruzione – Tima

risposta

1

Provate ad usare setHeader() invece di addHeader()

+0

ho provato ma nessun cambiamento affatto. Cambia importanza setHeader() invece di addHeader() .. ??? dà la risposta corretta prima di una settimana e confermo anche dal lato client che tutti la cosa è giusta ... – Kutbi

1

Si potrebbe provare HttpClient 4.1 per Android: http://code.google.com/p/httpclientandroidlib/ (Ci sono bug nella versione 4.0 di HttpClient che usa Android.) Puoi anche eseguire il debug con un po 'di più con httpClient.log.enableDebug (true);

Se non si desidera utilizzare una libreria esterna, avviare il debug del traffico di rete. Con un software chiamato Wireshark è possibile visualizzare e ispezionare tutte le richieste/risposte Http molto facilmente .

Per l'autorizzazione Io personalmente uso:

httpClient.getCredentialsProvider().setCredentials(
    new AuthScope(hostname, port), 
    new UsernamePasswordCredentials(user, pass)); 
-1

uso questo, invece:

HttpURLConnection connection = (HttpsURLConnection) serviceURL.openConnection(); 
    connection.setRequestMethod("POST"); 
Problemi correlati