Php Seite öffnen?

Status
Nicht offen für weitere Antworten.

seejay

Aktives Mitglied
Hallo,
ich möchte per Java auf eine Datenbank im Internet zugreifen, da ich aber möchte, dass dies immer funktioniert und nicht von Proxys geblockt werden kann, nehme ich den Umweg über PHP. Deswegen möchte ich per Java eine PHP Seite aufrufen und deren Inhalt in einem String speichern. Leider kommen hier schon die ersten Probleme.
Bisher lautet mein Code:
Code:
   public static void main( String[] args ) throws Exception{
      System.setProperty( "proxySet", "true" );
      System.setProperty("proxyPort","Port");
      System.setProperty("proxyHost","proxyAdresse");
       
    URLConnection conn = new URL("http://seejay.se.uttx.net/test/index.php").openConnection();
    conn.setDoInput(true);
    conn.setDoOutput(true);
    BufferedReader br = new BufferedReader(new InputStreamReader(conn
                    .getInputStream()));
    while (br.ready()) {
            System.out.println(br.readLine());
    }

    br.close();    
   }

Dies funktioniert leider nicht, gebe ich aber anstatt meiner Adresse z.b. http://google.de ein, dann funktioniert es.
In meiner Adresse wird im Moment per PHP nur ein Wort "test" ausgegeben.

Mache ich da irgendetwas falsch oder wie geht es für PHP Dateien.

Danke und Gruss
seejay
 

seejay

Aktives Mitglied
ja sorry, hab mnich dann falsch ausgedrückt, will auch nur den quelltext der seite bekommen.
im moment steht in meiner testdatei nur drin
Code:
<?php
echo 'test';
?>
und quelltext ist ja dann
Code:
test

dies wollte ich auch laden, aber ich bekomme mit meinem Code oben nichts herausgelesen.
 

masta // thomas

Bekanntes Mitglied
Versuchst du auch wirklich http://seejay.se.uttx.net/test/index.php einzulesen? Weil die Seite ist z.Zt. leer, wenn ich sie im Browser aufrufe ;)

Ansonsten würde ich noch die Schleifenbedingung auf folgendes Ändern:

Code:
...
String line;
while((line = br.readLine()) != null)
...

(und dann natürlich mit System.out.println(line); ausgeben)
 

assoziatives pseudonym

Aktives Mitglied
und quelltext ist ja dann
Code:
test
Nö, ganz sicher nicht :lol:
Der einzige Quelltext steht im ersten Codeblock von dir .. du kannst auf der Client-Seite keinen Quelltext auslesen, sondern nur HTML-Anweisungen ... Quelltext siehst du zb. in deiner IDE oder in der PHP-Datei aufm Server :wink:

Übrigens ist die Website wirklich leer, da kann also nix ankommen
 
T

tuxedo

Gast
Wieso Werbung? Er hat das Problem dass er ne DB hinter nem Webspace ansprechen will. Und das ist ne Lösung. Wieso das Rad neu erfinden?
Mit Werbung hat das absolut nix zu tun.
 

HoaX

Top Contributor
alex, nich so eng sehn ;) spezialist hat scheinbar keine ahnung und ist es daher nur gewohnt anderen leuten lösungsvorschläge mit fremden quellen zu geben. ich find ok das ok, da es 100% passt. um ihm jetz die arbeit des tippens zu erleichtern:
ich bin neulich auf jpmdbc.dev.java.net gestoßen, könnte was für dich sein, seejay. (nein, es ist NICHT mein projekt ;))
 
T

tuxedo

Gast
HoaX hat gesagt.:
alex, nich so eng sehn ;) spezialist hat scheinbar keine ahnung und ist es daher nur gewohnt anderen leuten lösungsvorschläge mit fremden quellen zu geben. ich find ok das ok, da es 100% passt. um ihm jetz die arbeit des tippens zu erleichtern:
ich bin neulich auf jpmdbc.dev.java.net gestoßen, könnte was für dich sein, seejay. (nein, es ist NICHT mein projekt ;))

;-) Danke für den Hinweis ...
 

HoaX

Top Contributor
tha_specializt hat gesagt.:
und quelltext ist ja dann
Code:
test
Nö, ganz sicher nicht :lol:
Der einzige Quelltext steht im ersten Codeblock von dir .. du kannst auf der Client-Seite keinen Quelltext auslesen, sondern nur HTML-Anweisungen ... Quelltext siehst du zb. in deiner IDE oder in der PHP-Datei aufm Server :wink:

falsch, der html code ist natürlich quelltext, oder besuchst du webseiten immer mittels telnet? ;)
der html-code beschriebt eine seite und wird entsprechend gerendert, d.h. aus dem code wird etwas erzeugt was nichtmehr nur buchstaben und zeichen sind, der html-code ist die quelle aus dem das erzeugt wurde, quellcode eben.
 

seejay

Aktives Mitglied
masta // thomas hat gesagt.:
Versuchst du auch wirklich http://seejay.se.uttx.net/test/index.php einzulesen? Weil die Seite ist z.Zt. leer, wenn ich sie im Browser aufrufe ;)

Ansonsten würde ich noch die Schleifenbedingung auf folgendes Ändern:

Code:
...
String line;
while((line = br.readLine()) != null)
...

(und dann natürlich mit System.out.println(line); ausgeben)

Danke, darin lag auch schon der Fehler, wenn man so bescheuert ist und die URL in Java falsch eingibt und beim Testen danach richtig im Browser, kann nichts daraus werden.
 
T

tuxedo

Gast
Falls du irgendwann doch zu JPMDBC greifst, würde ich mich über Feedback freuen.
Wenn du aber mit deiner Individuallösung besser dran bist, würd's mich interessieren wie du's letztendlich gelöst hast.

- Alex
 

seejay

Aktives Mitglied
naja wird ne individuallösung sein.
bisher so gelöst, dass sich bei der ersten anfrage eine javaID erzeugt wird und diese an php gesendet wird, dort wird dieser javaID eine PHPID zugeordnet um bei weiteren abfragen zu wissen, von welchem clienten die anfrage kam und ob dieser über benötigte rechte verfügt. diese beiden ids werden dann jedes mal vom java programm mitgesendet. die anfragen gehen an verschiedene dateie, je nachdem mit was die anfrage zu tun hat. so hab ich es gelöst. irgendwelche vorschläge, kritik dazu?
 
T

tuxedo

Gast
D.h. du hast die SQL-Statements weitgehend direkt in PHP ausgelagert und frägst mit Java nur noch die "Ergebnisse" der Abfrage ab?

jPMdbc macht das im Prinzip auch nicht anders. Aber es gibt einen "gewaltigen" Unterschied:

Du brauchst auf dem Webserver nur eine File (jpmdbc.php) und die Statements kannst du in Java statt in PHP bestimmen. D.h. du bist sehr flexibel.

Wie hast du das Ergebnis mit PHP "formatiert"? Ich mein jetzt das Abrage-Ergebnis? Einfach mit Komma getrennt oder hast du dir eine Art Protokoll überlegt?

Hast du schon mal einen jdbc-treiber benutzt (jdbc nicht mit jpmdbc verwechseln!)? Auf den ersten Blick mag die verwendung eines solchen Treibers umständlich sein. Aber man ist damit wirklich recht gut bedient... Ich poste die mal ein wenig Beispielcode:

Code:
Class.forName( "de.root1.jpmdbc.Driver" ); // Treiber bekannt machen


// Die Verbindung zur DB herstellen
Connection con = DriverManager.getConnection("jdbc:jpmdbc:http://www.mydomain.tld:80/jpmdbc.php?myDatabaseName", "myDbUser", "myDbPass");

// Anhand der Verbindung ein SQL-Statement erzeugen und die SQL-Anfrage auf dem Server ausführen
Statement s = con.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM `command`;");

while(rs.next()){ // mit .next() kann man das Ergebnis Zeile für Zeile durchgehen
System.out.println("name="+rs.getString("name")+" security="+rs.getShort("security")); // Auf die Spalten im Ergebnis kann man etweder per Spaltenname oder Spalten-Index-Nr zugreifen
}

// Ein weiteres Beispiel
s = con.createStatement();
int affected = s.executeUpdate("UPDATE `command` SET `security` = 3 WHERE `name` = 'cooldown';");
System.out.println("affected rows: "+affected);

}

Vielleicht kommst du ja doch noch auf den Geschmack. Und das beste ist:
Du kannst durch einfaches austauschen des Treiber, Beispielsweise ersetzt du jpmdbc durch einen Postgres oder direkt einen MySQL-Treiber, die Db wechseln ohne den ganzen Code umschreiben zu müssen. Du musst die Zeilen 2 und 6 im Beispielcode ändern. Das ist alles. Die Abfragen und das verarbeiten der Ergebnisse bleibt 1:1 gleich.

"Insellösungen" sind in der Regel schwer zu warten und bei weiterem Wachsen des Programms schwer zu handeln. für den ersten Moment reichen sie ja meist aus. Aber man weiß ja nie wie weit das Programm noch wächst....
 

seejay

Aktives Mitglied
wollte es eigentlich so machen, aber ich konnte dann die mysql Datenbank hinter einer Firewall nicht erreichen. Aber dies war für mich vorraussetzung. Deswegen hab ich es jetzt über eine php seite gelöst. Bisher geb ich die Aussage einfach mit Trennzeichen getrennt aus. Aber ich schau mir des jpmdbc mal an.
 
T

tuxedo

Gast
jepp, die "normalen" jdbc-treiber haben a) ein Firewallproblem und b) können nicht mit MySQL-Datenbanken auf Webservern umgehen die für "localhost-only" vrbindungen konfiguriert sind.

Aus dem Grund hab ich jpmdbc geschaffen... Mich hat das genauso "angeödet" wie dich ;-)
 
T

tuxedo

Gast
Die allerwenigsten Webspace-Anbieter geben eine SSH-Shell dazu. Ergo: Problem ...

Fazit: Einzigster Zugang zur DB via PHP

Oder hat jemand noch ne andere Idee?

- Alex
 

masta // thomas

Bekanntes Mitglied
Ja, da hast du Recht @ SSH - ich bin seit ewigkeiten root-Server gewohnt.

Ich hab übrigens vor längerer Zeit auch mal so eine Bridge angefangen, aber irgendwann nicht mehr dran gearbeitet - für die Zwecke, die es erfüllen sollte, hat es genügt ;) Kommuniziert hat PHP & JAVA via XML (was im Endeffekt vielleicht keine schlaue Idee war, weil dadurch mehr Datentransfer)

Evtl. solltest du dir mal Gedanken über Kompression machen, um die Querys schneller aus dem Netz zu laden.
Ansonsten eine gute Idee, bleib weiter dran :)
 
T

tuxedo

Gast
Hast du dir mal meine Speed-Tests angesehen?

Database used: MySQL Server 4.1.11
Serverside MySQL client for PHP: MySQL Client 4.0.24
Tables in Database: 93
Internetconnection: DSL: 6000kbit down / 512kbit up
Webserver: Apache 2.0.54
PHP: PHP 4.3.10-19

Testtable #1:

used tablestorage engine InnoDB
rows in table 2699
columns in table 30
size 13.7 MB
query SELECT * FROM XYZ
query duration: ~17 seconds @ ~690kByte/sec

Testtable #2:

used tablestorage engine MyISAM
rows in table 85624
columns in table 19
size 6.7 MB
query SELECT * FROM ABC
query duration: ~14 seconds @ ~690kByte/sec

Wenn ich MySQL zum Server via SSH tunnle, dann bin ich da auch nicht viel langsamer (glaub ich, habs noch nicht ausführlich gegengetestet, mach ich heute abend mal).

bzgl. der Kompression hab ich auch schon nachgedacht. Aber ich hab da keine wirklich elegante und praktikable Technik gefunden.

Hab hier gelesen dass eine Zeile auf PHP-Seite genügen würde?!

Habs noch nicht getestet. Werd ich aber mal bei gelegenheit noch tun.

- Alex
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Seite öffnen und schließen Java Basics - Anfänger-Themen 2
G Html-Seite mit JButton öffnen Java Basics - Anfänger-Themen 3
M html-seite drucken (gerendert) Java Basics - Anfänger-Themen 3
M Bei nach oben scrollen soll Seite aktualisiert werden (Userscript mit Javascript) Java Basics - Anfänger-Themen 10
S Tik Tok Foryou Seite Java Basics - Anfänger-Themen 8
C Methode Seiten tauschen eines erstellten Rechtecks mit Seite A und B Java Basics - Anfänger-Themen 9
D XML von Seite auslesen Jsoup Java Basics - Anfänger-Themen 2
B Mit webservice a) String auf Webseite ausgeben b) Weiterleitung auf andere Seite Java Basics - Anfänger-Themen 10
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
tsom Erste Schritte itext Text als Block auf neue Seite Java Basics - Anfänger-Themen 0
K (JTable) Text einer Zelle auf der linken Seite kürzel Java Basics - Anfänger-Themen 2
G Seite aktualisieren Java Basics - Anfänger-Themen 1
P Seite auf Inhalt prüfen Java Basics - Anfänger-Themen 2
S Ein Rechteck soll an einer Seite gespiegelt werden. Java Basics - Anfänger-Themen 5
O Methode in andere Klasse verlegt, "auslesen" einer HTML Seite verschnellert - Problem. Java Basics - Anfänger-Themen 4
Screen Wie Login auf einer Seite via Java? Java Basics - Anfänger-Themen 5
V Umlaute beim Parsen einer HTML Seite Java Basics - Anfänger-Themen 4
G Queue auf einer Seite löschen, andre Seite schreiben Java Basics - Anfänger-Themen 3
Z Input/Output HTML-Seite einlesen Java Basics - Anfänger-Themen 4
B Einfache jsp Seite darstellen Java Basics - Anfänger-Themen 9
H Java Server/Client, HTML Seite anzeigen Java Basics - Anfänger-Themen 2
M Mit Java eine HTML-Seite speichern Java Basics - Anfänger-Themen 11
Helgon Seite verzögert lesen Java Basics - Anfänger-Themen 4
F Zwei Formulare auf JSP Seite Java Basics - Anfänger-Themen 5
I CSV Datei auf HTML Seite hochladen und in DB laden Java Basics - Anfänger-Themen 9
B Seite aufrufen und Java ausführen Java Basics - Anfänger-Themen 3
I PDF aus JSF - Seite drucken mit iText Java Basics - Anfänger-Themen 5
G HTML Seite generieren Java Basics - Anfänger-Themen 2
U Welche Seite für Anfänger Java Basics - Anfänger-Themen 11
L HTML Seite anzeigen Java Basics - Anfänger-Themen 4
H a.class als applet in html seite einbinden? Java Basics - Anfänger-Themen 20
S HTML Seite mit Applet von Eclipse ??? Java Basics - Anfänger-Themen 1
N html seite auslesen Java Basics - Anfänger-Themen 19
L JRE Download-Seite Java Basics - Anfänger-Themen 3
D Seite aufrufen, jedoch nicht im Browser Java Basics - Anfänger-Themen 13
V Bilder auf einer Seite markieren und ersetzen Java Basics - Anfänger-Themen 2
G HTML Seite auslesen Java Basics - Anfänger-Themen 3
J Aufruf Web-Seite Java Basics - Anfänger-Themen 3
R eingebettetes Applet von einer anderen HTML Seite aufrufen Java Basics - Anfänger-Themen 12
D Drucken - Seite leer Java Basics - Anfänger-Themen 2
W Die Methode print() wird 2 mal für jede Seite aufgerufen Java Basics - Anfänger-Themen 9
G JavaScript in JSP-Seite Java Basics - Anfänger-Themen 2
C Wenn Wert existiert, dann weiter auf nächste Seite Java Basics - Anfänger-Themen 2
B Daten aus HTML Seite holen Java Basics - Anfänger-Themen 9
D seite mit cookies Java Basics - Anfänger-Themen 2
orkano Text einer remote-HTML Seite auslesen Java Basics - Anfänger-Themen 3
G JSP-Seite automatisch schließen Java Basics - Anfänger-Themen 4
G Seite von eigenem Webserver anfordern Java Basics - Anfänger-Themen 15
C *.jar (JFrame) in html-Seite einbinden? Java Basics - Anfänger-Themen 7
M quelltext html-seite speichern + links speichern Java Basics - Anfänger-Themen 2
S Tomcat Error mit meiner ersten JSF Seite Java Basics - Anfänger-Themen 17
N JCombobox Pfeil nach unten bild auf linke seite, geht das? Java Basics - Anfänger-Themen 8
M HTML Seite die Daten in JavaApplet dynamisch verarbeiten Java Basics - Anfänger-Themen 2
J HTML-Seite lesen Java Basics - Anfänger-Themen 3
RaoulDuke Struts ActionForms / Mehrere auf einer Seite Java Basics - Anfänger-Themen 5
R Html-Seite aus Java-Applikation aufrufen Java Basics - Anfänger-Themen 6
C Html-Seite aus dem Internet verarbeiten Java Basics - Anfänger-Themen 10
G Seite zur Registration mit JSP und Datenbank Java Basics - Anfänger-Themen 17
R Quelltext einer HTML-Seite auslesen Java Basics - Anfänger-Themen 2
K Html-Seite auslesen? Java Basics - Anfänger-Themen 2
G JEditorPane - Hilfe - Seite Java Basics - Anfänger-Themen 2
C HTML-Seite vom Server holen Java Basics - Anfänger-Themen 7
V Applet in eine HTML-Seite laden Java Basics - Anfänger-Themen 11
S Seite in var ablegen und dann über a href aufrufen...? Java Basics - Anfänger-Themen 4
Rookar Mit Button andere java öffnen Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
I JFrame / Screen auf zweitem (definiertem) Monitor öffnen Java Basics - Anfänger-Themen 3
Files öffnen Java Basics - Anfänger-Themen 17
G jar file lässt sich nicht öffnen Java Basics - Anfänger-Themen 1
J selbst erstellte Datei mit Programm öffnen Java Basics - Anfänger-Themen 10
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
J Klassen .class Datei öffnen Java Basics - Anfänger-Themen 31
C Projekt öffnen BlueJ Java Basics - Anfänger-Themen 1
B File öffnen in src/main/webapp Java Basics - Anfänger-Themen 4
A Methoden Array aus verschiedenen Methoden bearbeiten bzw. öffnen Java Basics - Anfänger-Themen 18
E Warum kann ich meine jar-Datei nicht öffnen Java Basics - Anfänger-Themen 20
L Mein Taschenrechner lässt sich plötzlich nicht mehr öffnen Java Basics - Anfänger-Themen 5
T Mehrere JFrames gleichzeitig öffnen Java Basics - Anfänger-Themen 6
MR._FIRE_Flower Ordner im Explorer öffnen lassen Java Basics - Anfänger-Themen 2
M aus Fenster anderes Fenster öffnen und wieder umgekehrt Java Basics - Anfänger-Themen 5
B Classpath Class lässt sich nicht öffnen Java Basics - Anfänger-Themen 3
E Pdf-Document lässt sich im Servlet nicht öffnen Java Basics - Anfänger-Themen 5
E Knopfdruck neues Fenster öffnen Java Basics - Anfänger-Themen 5
S Dialogfeld nach 5 Sek automatisch öffnen Java Basics - Anfänger-Themen 15
M Standardbrowser öffnen Java Basics - Anfänger-Themen 6
M Erste Schritte Links öffnen Java Basics - Anfänger-Themen 6
P Kann ich Java - Programme auch ohne Editor öffnen? Java Basics - Anfänger-Themen 70
S Erste Schritte Java Applet lässt sich im Browser nicht öffnen Java Basics - Anfänger-Themen 9
WetWer Custom Datei Endung öffnen Java Basics - Anfänger-Themen 1
N Datei mit Wildcard öffnen Java Basics - Anfänger-Themen 2
F Programm öffnen Java Basics - Anfänger-Themen 2
P JFrame nur einmal öffnen Java Basics - Anfänger-Themen 4
P Erste Schritte durch MenuBar verschiedene Fenster öffnen Java Basics - Anfänger-Themen 2
Tacofan JAR-Datei öffnen Java Basics - Anfänger-Themen 4
T eclipse runnablejar Datei fehler bei öffnen Java Basics - Anfänger-Themen 0
F Java Programm öffnen Java Basics - Anfänger-Themen 3
T Textdatei öffnen und ans Ende scrollen Java Basics - Anfänger-Themen 11
K Erste Schritte Neues Fenster mit Textinhalt öffnen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben