HttpPost -> Redirect -> Lage oder Stelle der Antwort benötigt

Hier ist Java-code, dass die stellen von Daten zu einer website und als wird umgeleitet, wie eine Antwort (status 302). Es funktioniert perfekt auf meinem PC (Eclipse, Java, Ubuntu), es tut genau das, was ich will, es zu tun.

Ich habe versucht so ziemlich alles zu posten die code-Funktionalität, aber ich bin nicht in der Lage.

Java-code:

//Preparing the CLIENT and POST Method
  HttpClient httpclient = new DefaultHttpClient();
  HttpPost httppost = new HttpPost("http://na.leagueoflegends.com/ladders/solo-5x5");

  try {
     //Add your POST METHOD attributes
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
     nameValuePairs.add(new BasicNameValuePair("op", "Search"));
     nameValuePairs.add(new BasicNameValuePair("player", "Jaiybe"));
     nameValuePairs.add(new BasicNameValuePair("ladder_id", "3"));
     nameValuePairs.add(new BasicNameValuePair("form_build_id",
           "form-526370b788622996caa3669e7b975ccf"));
     nameValuePairs.add(new BasicNameValuePair("form_id",
           "ladders_filter_form"));
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

     //Execute HTTP Post Request
     HttpResponse response = httpclient.execute(httppost);

     //RESPONE THAT WORKS WITH JAVA
     System.out.println("Location:");
     String LocationHeader = response.getFirstHeader("location").getValue();
     System.out.println(LocationHeader);
     System.out.println();

     //To get the BODY I would have to parse that again - since its not REDIRECTING automatically
     HttpClient httpclient2 = new DefaultHttpClient();
     HttpPost httppost2 = new HttpPost(LocationHeader);
     response = httpclient2.execute(httppost2);
     System.out.println("And EVEN the response body:");
     System.out.println(EntityUtils.toString(response.getEntity()));

Code:

  1. Beiträge
  2. Wird Umgeleitet - bekommt-header der Lage
  3. Analysiert die Lage

Und ich brauche android, das gleiche zu tun. Entweder "Ort" oder body der response verwendet, ist ok, ich brauche beide.

Den Beitrag: http://www.anddev.org/networking-database-problems-f29/httppost-clientprotocolexception-t56118.html

  • Haben Sie versucht, mit dem Apache Commons HttpClient? In meiner Erfahrung gibt Ihnen mehr Flexibilität, und es behandeln soll, die die meisten Weiterleitungen automatisch (es gibt einige Ausnahmen). Wenn Sie immer noch mit den gleichen Fragen nach, die Sie könnten versuchen, die Umsetzung Ihrer eigenen 'redirector' überschreiben standard-Verhalten.
  • uhm, OP ist mit HttpClient.
  • Ah shoot, ich bin immer die Dinge Durcheinander. Tut mir Leid, dass. Dennoch haben Sie versucht, die Handhabung der Weiterleitungen manuell mit Ihren eigenen RedirectHandler. Was für mich interessant ist aber, dass Sie im Grunde immer eine IOException und nicht ein HttpException als ClientProtocolException Unterklassen der ehemaligen. Möglicherweise möchten Sie auch zu prüfen, für die anderen Location-Header, nicht nur die erste - siehe diesem blog-post.
  • Hallo an alle, die versuchen mir zu helfen - ich Schätze, dass VIELE (glauben Sie mir) :). naja der Punkt ist, ich habe keine Ahnung, warum ich immer diese Ausnahmen, oder was auch immer, da der code mit gleicher Funktionalität in java-makellos - ohne Ausnahmen-und genau das tut, was ich will.. Und ich habe keine Ahnung warum die java-httpclient verhält sich das anders als der httpclient im android - ich meine, wenn ich wüsste, was die Ursache für diese würde ich es irgendwie, aber ich habe keine Ahnung... Die JAVA-jource, dass der perfekt läuft kann hier gefunden werden:
  • anddev.org/networking-database-problems-f29/... ... habe ich gelernt wie ok, vielleicht der customredirecthandler helfen könnte - aber wie Sie sagen, es ist eine IOException aus, und ich habe keine Ahnung, was könnte dazu führen, dass 🙁 damin ich verbrachte so viel Zeit hier habe ich nicht einmal eine Idee haben, was für ein Tag es heute ist 🙁
Schreibe einen Kommentar