2012-09-18 6 views
0

J'ai des problèmes avec une application qui fonctionne lors de la connexion à un serveur web distant, en exécutant un script PHP contre une base de données. Cependant, lorsque je pointe la même application vers mon serveur Web local fonctionnant sur ma machine, les choses ne fonctionnent pas.Android: HttpClient distant vs serveur local

Voici le code que j'utilise pour se connecter au serveur Web distant (il nécessite une authentification):

(Tout le code de réseau se fait à l'intérieur d'une classe AsyncTask.)

HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost(url); 
StringBuilder authentication = new 
    StringBuilder().append("frankh").append(":").append("vriceI29"); 
result = Base64.encodeBytes(authentication.toString().getBytes()); 
httppost.setHeader("Authorization", "Basic " + result); 
nameValuePairs.add(new BasicNameValuePair("date", date)); 
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
HttpResponse response = httpclient.execute(httppost); 
HttpEntity entity = response.getEntity(); 
is = entity.getContent(); 

Pour la connexion le serveur local, qui n'utilise l'authentification, je commenter ces lignes:

//StringBuilder authentication = new 
// StringBuilder().append("frankh").append(":").append("vriceI29"); 
//result = Base64.encodeBytes(authentication.toString().getBytes()); 
//httppost.setHeader("Authorization", "Basic " + result); 

Cependant, je reçois deux erreurs différentes, selon la façon dont je l'url phrase sur le serveur Web local.

Si je l'adresse suivante: "http: //localhost.shoppinglistapp/fetchlist.php"

Je reçois cette erreur:

Error in http connectionjava.net.UnknownHostException: localhost.shoppinglistapp 

Si je saute la partie http dans l'URL, je obtenir cette erreur:

Error in http connectionjava.lang.IllegalStateException: Target host must not be null, 
or set in parameters. 

Qu'est-ce que je fais mal ici? Le serveur distant est un serveur Linux Apache, et le serveur local est IIS 7. Le serveur local est censé être juste pour travailler quand je n'ai pas ou une mauvaise connexion internet, donc ce n'est pas critique, mais je déteste ne pas savoir pourquoi les choses ne fonctionnent pas.

+0

testez-vous sur le périphérique ou l'émulateur? –

+0

'' localhost.shoppinglistapp/fetchlist.php'' devrait-il lire '' localhost/shoppinglistapp/fetchlist.php''? – harism

Répondre

Questions connexes