Sto provando ad inviare una richiesta http dalla mia app ad uno script che ho online sul mio sito.
A quanto pare la richiesta non parte o parte, ma non arriva.
Sto usando un dispositivo virtuale da Eclipse, su di questo posso navigare usando il browser, quindi non è un problema di mancanza di connessione.
Ecco il codice che sto usando per l'invio della richiesta
codice:
public void postData(String from, String to, String date, String time, String searchby, String type, String orderby) {
String testo = from+" - "+to+" - "+date+" - "+time+" - "+searchby+" - "+type+" - "+orderby;
Toast toast=Toast.makeText(this, testo, 6000);
toast.setGravity(Gravity.TOP, -30, 50);
toast.show();
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.miosito.it/android/provahttp.php");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("from", from));
nameValuePairs.add(new BasicNameValuePair("to", to));
nameValuePairs.add(new BasicNameValuePair("date", date));
nameValuePairs.add(new BasicNameValuePair("time", time));
nameValuePairs.add(new BasicNameValuePair("searchby", searchby));
nameValuePairs.add(new BasicNameValuePair("type", type));
nameValuePairs.add(new BasicNameValuePair("orderby", orderby));
// Url Encoding the POST parameters
try {
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
} catch (UnsupportedEncodingException e) {
// writing error to Log
e.printStackTrace();
}
// Making HTTP Request
try {
HttpResponse response = httpclient.execute(httppost);
// writing response to log
Log.d("Http Response:", response.toString());
} catch (ClientProtocolException e) {
// writing exception to log
e.printStackTrace();
} catch (IOException e) {
// writing exception to log
e.printStackTrace();
}
}
All'inizio c'è il Toast che ho messo lì per vedere se i parametri vengono ricevuti dalla funzione, tutto ok, arrivano corretti.
Mi accorgo che la richiesta non va a buon fine perché lo script dovrebbe creare un file nella stessa cartella in cui è contenuto, ma non lo crea, se invece metto uso il link su un browser, lo script genera il file, quindi dalla app non viene proprio raggiunto.
Vedete qualcosa che non va nel codice?