Auparavant, j'ai posé une question au Android to Drupal cookie transfer sur l'envoi de cookies de mon application Android à mon site Drupal à laquelle j'ai obtenu une très bonne réponse. L'idée est de permettre une interaction persistante Client-Serveur.Android au transfert de cookie Drupal Q2
J'ai ajusté mon code comme indiqué, mais je n'arrive toujours pas à faire fonctionner les choses correctement. Mes réglages de code sont ci-dessous:
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
HttpResponse response;
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://testsite.com/testpoint/node/");
BasicHttpContext basicContext = new BasicHttpContext();
org.apache.http.client.CookieStore cookiestore = new BasicCookieStore();
basicContext.setAttribute(ClientContext.COOKIE_STORE, cookiestore);
basicContext.setAttribute(USERPREFERENCES.getString(COOKIE_NAME, ""), USERPREFERENCES.getString(COOKIE_VALUE, ""));
//USERPREFERENCES.getString(CO0OKIE_NAME, ""), USERPREFERENCES.getString(COOKIE_VALUE, "")
// TODO Auto-generated method stub
try{
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("node[title]", "sample node from app"));
nameValuePairs.add(new BasicNameValuePair("node[type]", "story"));
nameValuePairs.add(new BasicNameValuePair("node[body]", "sample app node body content"));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
//Execute HTTP post request
//HttpResponse
response = httpClient.execute(httpPost, basicContext);
Log.i("SEEMS TO WORK", response.toString());
Log.v("CODE", httpPost.getRequestLine().toString() + " - " + response.toString());
}catch(Exception e){
Log.e("HTTP-ERROR: node creation", e.toString());
}
return null;
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
//Toast.makeText(getApplicationContext(), "Create Node thread returning!", Toast.LENGTH_LONG).show();
Toast.makeText(getApplicationContext(), "Testing header: Cookie: " + USERPREFERENCES.getString(COOKIE_NAME, "") +","+ USERPREFERENCES.getString(COOKIE_VALUE, ""), Toast.LENGTH_LONG).show();
}
}
Fondamentalement, mon nom de cookie et valeur sont stockés dans mes préférences partagées USERPREFERENCES.getString (cookie_name, "") et USERPREFERENCES.getString (COOKIE_VALUE, ""). J'essaie de renvoyer cette information afin que lorsque cette fonction s'exécute et crée avec succès un nouveau nœud d'histoire sur mon site Drupal, l'auteur est reconnu comme l'utilisateur qui s'est inscrit et s'est connecté depuis l'application Android.
Actuellement, le noeud est créé mais l'utilisateur est "anonyme". Par conséquent, j'ai besoin de renvoyer les informations sur les cookies des utilisateurs de Drupal.
Quelqu'un peut-il m'aider s'il vous plaît?
Nous vous remercions de votre suggestion d'outil. Je vais y aller tout de suite. – sisko
np. Obtenir le proxy inverse mis en place correctement peut être un peu un tour. Faites-moi savoir si vous avez des problèmes et je peux essayer de vous orienter dans la bonne direction. – walta
Salut Walta, ça va paraître fou mais le site charlesproxy semble être en panne. J'ai réussi à le télécharger à la maison sur Linux mais au travail sur ma machine Windows où je peux passer plus de temps à jouer, le site refuse de charger ... – sisko