[00:01] Alles Gute an TaCarl
[06:00] Post by Linksysiwy @ The West
[08:01] Post by HansBerner @ 100.000 Beiträge Projekt
[12:41] Post by Zahl @ 100.000 Beiträge Projekt
[17:52] Post by Manu16 @ Der Spieleplanet in Zahlen - 19/2024
[20:00] Lottoziehung in 02d 00:00h
Trackmania Minecraft Andere Spiele
Thema: MYSQL Hilfe Auf Thema antworten
Dein Benutzername: Klicke hier, um dich anzumelden
Titel:
  
Nachricht:
Beitragssymbole
Du kannst aus der folgenden Liste ein Symbol für deine Nachricht auswählen:
 

Zusätzliche Einstellungen
Miscellaneous Options

Übersicht (Neuester Beitrag zuerst)
18.07.10 23:13:11
SchlafMuetze Ok, danke...
ich werde mal sehen, was ich damit morgen anfangen kann
Wenn ich Fragen habe, melde ich mich nochmal
18.07.10 18:41:59
blue Für einen HTTP GET brauchst du ja nur die gewünschte URI aufzurufen.

PHP-Code:
        private string getContentFromUriGet(string uri)
        {
            
string content null;
            
WebRequest request WebRequest.Create(uri);
            
WebResponse response request.GetResponse();
            
StreamReader sr = new  StreamReader(response.GetResponseStream(), Encoding.ASCII);
            
StringBuilder contentBuilder = new StringBuilder();
            while (
sr.Peek() > 0)
                
contentBuilder.Append(sr.ReadLine() + "\r\n");
            return 
contentBuilder.ToString();
        } 
Der Post ist an dieser Stelle etwas komplizierter, aber auch nicht viel schwieriger. Zunächst mal eine Methode, die den POST absetzt:
PHP-Code:
        private string getContentFromUriPost(string uriNameValueCollection postValues)
        {
            
WebClient webClient = new WebClient();
            
byte[] data webClient.UploadValues(uri"POST"postValues);
            return 
Encoding.Default.GetString(data);
        } 
Ein Aufruf sieht folgendermaßen aus (Bei dem Beispiel schicke ich ein paar Daten an http://www.xbox360achievements.org/ und parse die Ergebnisse. Die Seite erwartet eine Variable mit dem Namen "search"):
PHP-Code:
        public List<stringget360aResults(string search)
        {
            List<
stringlst = new List<string>();
            try
            {
                
string strUri "http://www.xbox360achievements.org/search.php";
                
NameValueCollection postValues = new NameValueCollection();
                
postValues.Add("search"search);
                
string content getContentFromUriPost(strUripostValues);
                
// Ab hier wirds uninteressant
                // ...
            
        


Das ist jetzt mti dem .NET gemacht. In Java wird die Geschichte ähnlich einfach sein. In C/C++ müsstest du dir eine geeignete Bibliothek suchen oder - wenn du es selbst machen willst - dich in Sockets (C-Kurz und gut: Netzwerkprogrammierung) einarbeiten und dir das HTTP Protokoll (RFC2616) näher ansehen.
18.07.10 18:22:35
SchlafMuetze Danke blue schonmal...
ich bin jetzt beim Kumpel aber nachhher schau ich nochmal rein
18.07.10 18:19:20
blue Ich suche mal Code raus ... musste sowas mal mit C# umsetzen. Sec ...
18.07.10 16:32:14
SchlafMuetze Nen Kumpel von mir hat sich da mal so nen Beispiel angeguckt... und der schreibt öfters mit Java auch kompliziertere Dinge, aber irgendwie konnte er mir da auch nicht richtig helfen...
Kannste sowas vielleicht in einer anderen Sprache? Wäre cool, muss aber net unbedingt sein... kostet ja auch Zeit^^
18.07.10 16:18:11
Zahl
Ich nutze weder Java noch C#, daher keine Ahnung, aber das sind garantiert nicht mehr als 20 Zeilen Code in beiden Sprachen. Und man findet sicherlich auch n komplettes Beispiel dafür.
18.07.10 13:19:14
SchlafMuetze Jetzt verwirrt ihr mich ein wenig...
aber irgendwie klingt Zahls Antwort logisch...
ich darf die DB glaube garnicht von außen "angreifbar" machen...
ich bezweifle auch das dies geht, da ich den Server ja nicht selbst hoste, sondern die der MySQL-Server nur zu meinem Webspace gehört, den ich "gemietet" habe...

Nach Zahls Methode habe ich schon gesucht, aber irgendwie übersteigt das meine Java-Fähigkeiten total... Kann mir da vielleicht irgendjemand irgendwie helfen?
18.07.10 03:25:36
Zahl
Im Gegenteil: Die Datenbank für Verbindungen von außen freigeben ist der Pfusch-Ansatz, der erhebliche Risiken birgt, da er potentiell die komplette Datenbank nach außen freigibt.
Im Normalfall lauscht der MySQL-Server nur auf dem Loopback Interface, sodass du mit ODBC von außen mal schön sterben gehen kannst, außer du änderst die Config des Servers.
Wenn man nur das Formular - natürlich im Produktiveinsatz mit einem Passwort versehen - nutzt, kann ein Angreifer maximal diese eine Tabelle vollspammen, zu der das PHP-Script das Interface darstellt, mehr Macht hat er damit über die DB jedoch nicht.
18.07.10 03:05:07
blue Es gibt unterschiedliche Lösungsansätze.
Einerseits kannst du unter Windows das ODBC nutzen. Du installierst eine Bibliothek für das gewünschte DBMS und schon kannst auf die DB zugreifen. Wie man ODBC in einer Programmiersprache nutzt, musst du natürlich errecherchieren - Kostet Zeit: Doof

Einfacher geht es aber mit proprietären Lösungen. Unter C++ gibt es für MYSQL eine embeded Lösung die extrem schnell ist (Ist halt embeded Code) (Such einfach mal nach der MySQL-C++ API).
Was Java angeht, so würde ich auf JDBC setzen. Das ist eine Platformunabhängige Lösung für Datenbanktreiber (JDBC ist eine alternative zu ODBC. Wobei ODBC für Windows OS konzipiert wurde - JDBC für alle Plattformen, für die es eien JVM gibt) (Hier einfach mal nach 'jdbc mysql' google'n und schon wirst du fündig).

Zitat von Zahl
Am besten machst du ein Programm, was das Formular ausgefüllt absendet im Hintergrund.
Mit .NET Sprachen oder Java sollte das einfach gehen, die haben fertige Klassen, um Formulare ausgefüllt abzuschicken. Stichwort zum Googlen wär "HTTP POST Anfrage senden"
Das ist in meinen Augen zwar ein schneller, aber ineffizienter Ansatz. Ich möchte gern soweit gehen und das als work-around ansehen.

P.S.: Ich werde bei Anfrage mal nach einer Präsentation über Datenbanken suchen, die ich vor einigen Jahren mal gehalten habe. Dort bin ich auf Herangehensweisen eingegangen.
17.07.10 23:52:54
SchlafMuetze danke erstmal Zahl...
ich werde mal gucken, was ich da schaffe^^
Dieses Thema enthält mehr als 10 Antworten. Klicke hier, um das ganze Thema zu lesen.

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Aktivität
Chat (20 Min)
2 Zeilen

Teamspeak 3

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:03:09 Uhr.


Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template-Modifikationen durch TMS
Die Betreiber haften nicht für die Inhalte der User. Die Beiträge spiegeln ausschließlich persönliche Meinungen wider, und nicht die der Seitenbetreiber.