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) {
}
}
}
});
Un buon consiglio è che il precedente messaggio di errore è scomparso, ma adesso NullPointerException =), 1 punto su U. –
C'è un errore FATAL EXCEPTION: main; android.os.NetworkOnMainThreadException; android.BlockGuardPolicy.onNetwork etc Penso che l'emulatore blocchi ancora la richiesta tramite socket ... –
On NetworkOnMainThreadException vedi la mia risposta qui - http://stackoverflow.com/questions/9380166/fatal-exception-in-android/9380512#9380512 – Olegas