2012-02-27 13 views
6

Sto cercando di inviare una richiesta POST al mio localhost da un'applicazione Android sotto Eclipse, ma sto ricevendo questo errore:HTTP Android errore di richiesta POST - Zoccoli fallito EACCES (Permesso negato)

socket failed EACCES (Permission denied).

I Lo faccio attraverso la libreria apache.commons. Ho cercato di connettersi tramite HttpClient prima, ma c'era un errore simile:

Connect to myhost refused.

Ecco il codice:

public void onClick(View v) { 
     login = (EditText) findViewById(R.id.entry_login); 
     userLogin = login.getText().toString(); 

     pwd = (EditText) findViewById(R.id.entry_password); 
     userPwd = pwd.getText().toString(); 

     BufferedReader br = null; 

     HttpClient httpclient = new HttpClient(); 

     PostMethod method = new PostMethod("http://127.0.0.1/testPost.php"); 
     method.addParameter("name", "Arthur"); 

     System.out.println("Login: " + userLogin); 

     try { 
      httpclient.executeMethod(method); 

      int returnCode = httpclient.executeMethod(method); 

      if (returnCode == HttpStatus.SC_NOT_IMPLEMENTED) { 
       System.err.println("The Post method is not implemented by this URI"); 

       // Still consume the response body 
       method.getResponseBodyAsString(); 
      } 
      else { 
       br = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream())); 
       String readLine; 
       while (((readLine = br.readLine()) != null)) { 
        System.err.println(readLine); 
       } 
      } 

      /* List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
       nameValuePairs.add(new BasicNameValuePair("name", "Arthur")); 
       nameValuePairs.add(new BasicNameValuePair("OP_ID", "10001")); 
       nameValuePairs.add(new BasicNameValuePair("IP_ADDRESS", "127.0.0.1")); 
       nameValuePairs.add(new BasicNameValuePair("FIELDS=field100", userLogin + "&field101=" + userPwd)); 
       nameValuePairs.add(new BasicNameValuePair("REQ_TYPE=", "26")); 
      */ 

      System.out.println("http connection done well!"); 
      // response.getStatusLine(); 

     } 
     catch (Exception e) { 
      System.out.println(e.getMessage()); 
     } 
     finally { 
      method.releaseConnection(); 
      if (br != null) 
       try { 
        br.close(); 
       } 
       catch (Exception fe) { 

       } 
     } 
    } 
}); 

risposta

23

Avete permessi internet in palese?

Controlla la tua AndroidManifest.xml per le linee ripercorrono

<uses-permission android:name="android.permission.INTERNET" /> 
+0

Un buon consiglio è che il precedente messaggio di errore è scomparso, ma adesso NullPointerException =), 1 punto su U. –

+0

C'è un errore FATAL EXCEPTION: main; android.os.NetworkOnMainThreadException; android.BlockGuardPolicy.onNetwork etc Penso che l'emulatore blocchi ancora la richiesta tramite socket ... –

+0

On NetworkOnMainThreadException vedi la mia risposta qui - http://stackoverflow.com/questions/9380166/fatal-exception-in-android/9380512#9380512 – Olegas

Problemi correlati