2011-11-16 3 views
1

Il existe un site Web avec une API AJAX. J'ai ouvert Firebug pour examiner les détails de la demande de connexion HTTPS POST.Comment émuler un navigateur Requête HTTPS POST avec Java (client HTTP Apache)?

Ensuite, j'ai essayé de faire la même requête POST à ​​partir de mon programme Java en utilisant le client HTTP Apache. Mais en quelque sorte, le serveur a identifié ma demande comme une demande non-navigateur. Il envoie un message d'exception de sécurité, qui me le dit.

Lorsque tous les en-têtes de requête sont les mêmes, quoi d'autre pourrait identifier mon client comme n'étant pas un navigateur?

Répondre

1

Je pense que c'est un problème de cookie (par exemple JSESSIONID le navigateur a stocké). Incluez les informations de session avec votre POST. Jetez un oeil sur les cookies de ce site. Essayez de désactiver les cookies pour ce site et jetez un oeil à la demande à nouveau.

1

Ne pas savoir à propos de la requête POST, mais il y a une demande pour ce multipart

entité MultipartEntity = new MultipartEntity (HttpMultipartMode.BROWSER_COMPATIBLE);

voir si son aide de toute

EDIT: Exemple de code pour une demande multipart

Chaîne createOrderUrl = Constants.CREATE_ORDER_URL;

  HttpClient httpClient = new DefaultHttpClient(); 
      HttpPost httpPost = new HttpPost(createOrderUrl); 

      MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 

      // add the information to the multipart request 
      entity.addPart("msisdn", new StringBody("something")); 
      entity.addPart("recipientname", new StringBody("something")); 
      entity.addPart("recipientnumber", new StringBody("something")); 
      entity.addPart("recipientaddress", new StringBody("something")); 

      // add the images 
      for (String imagePath : selectedImages) 
      { 
       FileBody bin = new FileBody(new File(imagePath)); 

       entity.addPart("image", bin); 

      } 
      httpPost.setEntity(entity); 

      return httpClient.execute(httpPost); 
+0

Merci pour cet indice. Mais comment remplir MultipartEntity avec mes paires clé-valeur? – Witek

+0

Je mets à jour ma réponse avec un échantillon de code, voyez si ça aide. – khizar

Questions connexes