Erstellen einer Suchanfrage auf einer Website - Wie? [HTTP POST Anfrage]

Rodio

Grünschnabel
Hallo zusammen!

Wie der Titel schon sagt, versuche ich derzeit vergeblich auf dieser Seite hier eine Suchanfrage durchzuführen.

Bei dieser Suchfunktion wird HTTP POST verwendet.

Ich habe schon überall rumgesucht und bin mittlerweile soweit, dass ich weiß, dass ich HTTPClient [http://hc.apache.org/] verwenden muss/soll.

Ich habe hierfür sehr viele Codebeispiele gefunden, allerdings scheint es so, dass der Entwickler wohl seine ganzen Libs neu strukturiert hat, was die alten Beispiele nutzlos macht.

Könnte mir bitte wer weiterhelfen?

[Ich habe wirklich stundenlang gesucht und mich durchgelesen :(]

Gruß

Rodi
 
ja klar, Lösungsmöglichkeiten habe ich bereits gefunden, das Problem ist nur, dass keine funktioniert.

Ich werde demnächst mal die Geschäftsbedingungen dieser Seite durchlesen, dennoch will ich aber aus Lerngründen gerne dieses Problem lösen ;)

Mein Problem ist, dass einfach immer wieder die normale Seite ohne Suchanfrage zurückgegeben wird.

Das hier ist mein Code:

Java:
            try
            { 
                //Construct data
                String data = URLEncoder.encode("search", "UTF-8") + "=" + URLEncoder.encode("Getting over", "UTF-8");
                //data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");
                // Send data 
                URL url = new URL("http://www.dance-tunes.com/");
                URLConnection conn = url.openConnection(); 
                conn.setDoOutput(true); 
                OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); 
                wr.write(data); 
                wr.flush(); 
                // Get the response
                BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                String resultText = "";
                String line; 
                while ((line = rd.readLine()) != null) 
                { 
                    // Process line...
                    resultText += (line+"\n");
                }
                System.out.println (resultText);
                wr.close(); 
                rd.close(); 
            } 
            catch (Exception e) 
            {
                System.out.println ("ERROR: "+e);
            }
 
der ansatz stimmt ... aber du sendest die falschen daten
hier mal n code auszug
Code:
<div class='search-bar'>
<form action='home/search'>
<input type="text" class="search-input" name="search" />
<input type="image" class="swap" swap="skins/dancetunes/img/search-button_hover.png" src="skins/dancetunes/img/search-button.png" />
</form></div>
von HTTP POST kann ich hier leider nichts entdecken
lediglich das irgendeine aktion an http://<server>/home/search geht ... oder vllt sogar an http://<server>/<pfad>/home/search
um also nun rauszubekommen was passiert wenn du da was eingibst und auf SEARCH klickst solltest du dir erstmal die javascript files und ggf auch die css files vornehmen da dort gerne dinge versteckt werden die eben sowas unmöglich machen sollen *mit n bissl übung findet man meist die nötigen stellen sehr schnell*
wenn dich das nich weiterbringt einfach mal n plain - sniffer zwischen schalten und kuggn was da so an datenverkehr abläuft *am besten sniffer mit log-funktion*
dann solltest du auch wirklich das bekommen was du erwartest ... was und vorallem wie du dann mit dem ergenis weiterarbeitest musst du dann feststellen
es kann auch sein das eine dierekte anfrage blockiert wird *durch serverseitige programmierung die sicherstellt das ein browser die seite mit standard-einstellungen geladen hat* in diesem fall musst du das verhalten eines browsers nachbilden ...
ansonsten > GIDF
 
Vielen, vielen, ..., vielen dank für die ausführliche Antwort.

Werde mich morgen nach der Arbeit mal dran setzen :)
 
bei sowas immer ...
habe oft BOTs gebastelt die auf grund von serverseitigen zeitbeschränkungen *wurde i-wie so gelöst das eig 2 seiten aufgerufen wurden .. aber eine halt versteckt als bild ^^* sich performant und browser-änlich verhalten mussten *performance war bei einige bots sehr schwierig ... vor allem was anti-captcha bots angeht* ...
daher weis ich das man VORHER ganz genau rausbekommen muss was da genau läuft ... das is nichts weiter als einmal total aus ein ander nehmen und dann schritt für schritt verfolgen und dann nur die notwendigen raussuchen und testen ... führt meist beim ersten oder zweiten mal zum erfolg
 
Zurück