Frage zu einem URL Aufruf

dapor

Mitglied
Hi,

ich hoffe ihr könnt mir helfen.
Ich habe folgendes "einfaches?" Problem:

Ich versuche "nur" eine php-Site aufzurufen und einige Sachen mithilfe von get zu übergeben.
Erst hatte ich es folgendermaßen versucht:
Code:
		String url = "http://daporius.drition.net/highscore.php?";
		String getUrl = "name=" + baseName + "&map=" + baseMap + "&level="
				+ baseLevel + "&points=" + basePoints;

		url = url + getUrl;

		try {
			new URL(url);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

als dies nicht funktionierte, habe ich es folgendermaßen probiert:
Code:
		String url = "http://daporius.drition.net/highscore.php";
		String getUrl = "name=" + baseName + "&map=" + baseMap + "&level="
				+ baseLevel + "&points=" + basePoints;

		try {
			this.writeConnection = new URL(url);
			this.send( getUrl );
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

	private void send(String data) throws IOException { // con ist vom Typ URLConnection
		if (con == null) {
			con = this.writeConnection.openConnection();
		}
		if (con.getDoOutput() == false) {
			con.setDoOutput(true);
		}
		OutputStream out = con.getOutputStream();
		out.write(data.getBytes());
		out.flush();
	}

dann habe ich mitbekommen, dass die php-Site gar nicht aufgerufen wird, egal ob mit der Übergabe der get Variablen oder nur der blanke Aufruf der php-Site. Wo ist mein Denkfehler? Es muss doch ganz einfach sein, weil eine XML-Seite usw kann ich auch ohne Probleme auslesen.
Wenn ich mir die URL (also den String) mithilfe von System.out.println() ausgeben lasse und dann die URL in den Browser reinkopiere, funktioniert es ohne Probleme ... aber Java will noch nicht so wie ich ...

Danke für eure Hilfe.
 
Moin!
Eingentlich ganz einfach...
Ein Fehler den du aber gemacht hast, .. du hast vergessen dass du ja das HTTP Protokoll für die Anfrage nutzt. Nur mit einer URL kann der Server nicht viel anfangen...
Musst ihm schon sagen, dass du zum Beispiel eine GET Anweisung verschickst oder etwas derart..
Je nachdem was die Seite erwartet, vielleicht auch noch die entsprechenden Parameter für einen "Browser-Fake" mitsenden.
Hier mal ein ganz einfaches Beispiel, um die Tutorials.de Startseite auszulesen:
Code:
try
         {
           URL url = new URL("http://tutorials.de");
           HttpURLConnection con = (HttpURLConnection) url.openConnection();
           con.setRequestMethod("GET");
           BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
           while (in.ready()) {
           String s = in.readLine();
           System.out.println(s);
           }
         }
         catch(Exception m)
         {
            m.printStackTrace();
         }

Benutz auch mal die Suchfunktion hier im Forum.. es gibt massig Threads zu dem Thema.

*grüssle*
MeinerEiner
 
Zurück