Blindbrowsen mit HTTPRequest

Status
Nicht offen für weitere Antworten.

sabelm_m

Mitglied
Hallo

ich brauche ein paar Tipps zu folgender Herausforderung.

Ich möchte eine Klasse in Java Schreiben, die sich über HTTP Requestes und Reponse in meinem Router einloggt und alle Statusanfragen abliest und mir zusammengefasst präsentiert.

Nutze gerade von Apache Jakarta den HTTPRequest Client. Habe bereits ein Response erhalten,a ber mein Router bentuzt JavaScript. Wie gehe ich damit um?

Für ein paar Tipps währe ich dankbar.

Gruß,

sabelm_m

Und der Code:
Code:
 Das ist mein Code
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.params.HttpMethodParams;

import java.io.*;

public class DSLStatus {
  
  private static String url = "http://192.168.178.1/";

  public static void main(String[] args) {
    // Create an instance of HttpClient.
    HttpClient client = new HttpClient();

    // Create a method instance.
    GetMethod method = new GetMethod(url);
    
    // Provide custom retry handler is necessary
    method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, 
    		new DefaultHttpMethodRetryHandler(3, false));

    try {
      // Execute the method.
      int statusCode = client.executeMethod(method);

      if (statusCode != HttpStatus.SC_OK) {
        System.err.println("Method failed: " + method.getStatusLine());
      }

      // Read the response body.
      byte[] responseBody = method.getResponseBody();

      // Deal with the response.
      // Use caution: ensure correct character encoding and is not binary data
      System.out.println(new String(responseBody));

    } catch (HttpException e) {
      System.err.println("Fatal protocol violation: " + e.getMessage());
      e.printStackTrace();
    } catch (IOException e) {
      System.err.println("Fatal transport error: " + e.getMessage());
      e.printStackTrace();
    } finally {
      // Release the connection.
      method.releaseConnection();
    }  
  }
}
 

HoaX

Top Contributor
entweder du führst selbst das javascript aus, z.B. mit rhino oder du nimmst gleich httpunit/htmlunit. die kümmern sich um alles - damit sollte das ein klacks sein, wenn im js keine fehler enthalten sind ,)
 

sabelm_m

Mitglied
Danke Hoax,

ich habe mir die neuen Werkzeuge heruntergeladen und in Eclipse eingeführt. Danke!. Funktioniert ganz gut.
Nun geht es zur Sache:

Wenn ich mich an einen anderen Router anmelde, wie mein Linksys erhalte ich keinen Frame oder HTTP Site sondern nur eine Response mit eine Fehlermeldung asl Inhalt, die mich darauf hinweißt, dass ich keine Berechtigung habe.

Eigentlich ist es so, dass wenn ich im Browser die IP Adresse des Routers eingeben, dass als erstes sich ein fenster öffnet und dort muss ich die Zugangsdaten für den Router eingeben. Erst danach bekomme ich überhaupt Responses.
ICh muss erst auf dieses Fenster die Daten eingeben und erst dann bekomme ich meinen HTTPRequests.

Ich arbeite nun daran herauszufinden, wie ich dieses Fenster auch mit den angeforderten Anmeldedaten füllen kann.

Falls jemand noch etwas einfällt wäre super, ansonsten, wenn ich es geschafft habe, werde ich es auch hier hinterlassen. Vielleicht bin ich nicht der einzige, der gern auf dem Router ohne den Browser zu nutzen zugreifen möchte.

Grüzi
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben