Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

13.09.2008, 13:50

Benötige Hilfe beim Auslesen einer Internetseite

Hi, Forum!
Zuerst einmal das Problem:
Ich hab ein Server auf dem eine Datei "test.php" liegt. Die Datei gibt beim Aufruf einfach die Zahl 5 aus, hat also den Inhalt

Quellcode

1
2
3
<?php
echo("5");
?>
.

Diese Zahl hätte ich gerne in meinem C++-Programm wieder. Leider hab ich schon das Problem, dass ich nicht einmal weiß, wie ich eine Seite öffne.
Wenn es fertig ist sollte es dann eine Art Versionskontrolle sein, hab mir auch schonmal das Tutorial zum Online-Hiscore hier durchgelesen, aber dort steht ja nur der PHP-Teil, welcher (eigentlich) kein Problem ist.
Ich hoffe mal, dass das Problem verständlich ist, über ein Stückchen Code würde ich mich sehr freuen (wenn der Aufruf und das Auslesen nicht gerade so ne Aktion mit 2000 Zeilen Code ist), für Tipps und Funktionen wäre ich natürlich auch dankbar!

3

13.09.2008, 14:19

Danke, bin schon ein bisschen weitergekommen!
Ich hab jetzt nen Counter, der immer 1 hoch geht wenn er aufgerufen wird. Hab jetzt meine Funktion 600 mal aufgerufen, und der Counter ging entsprechend hoch.

Aber wie könnte ich das, was da steht jetzt in mein C++ Programm laden?

Meine Funtion sieht bis jetzt so aus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
void test(char* pcURL, BYTE* pData)
{
    HINTERNET hInternet = InternetOpen("Windows Internet Explorer",
        INTERNET_OPEN_TYPE_PRECONFIG,
        0, 0, 0);

    HINTERNET hURL = InternetOpenUrlA(hInternet, pcURL, 0, 0, INTERNET_FLAG_RELOAD, 0);
}


So weit, so richtig, oder?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

13.09.2008, 15:22

Hier steht doch alles was du wissen musst: http://msdn.microsoft.com/en-us/library/aa385438(VS.85).aspx
@D13_Dreinig

5

13.09.2008, 15:56

Da gibts ja so viele Funktionen...
Was meint ihr, würde die "InternetReadFile"-Funktion mir bei meinem Problem helfen?

Anonymous

unregistriert

6

13.09.2008, 16:05

Benutz doch Winsocks, die laufen auf allen Systemen:
http://magazin.c-plusplus.de/artikel/Sockets%20und%20das%20HTTP-Protokoll

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

7

13.09.2008, 16:13

Zitat von »"defaultplayer^^

Da gibts ja so viele Funktionen...
Was meint ihr, würde die "InternetReadFile"-Funktion mir bei meinem Problem helfen?


Jo, die Funktion würde dir bei deinem Problem helfen!
@D13_Dreinig

8

13.09.2008, 16:44

Zitat von »"unsigned long"«

Benutz doch Winsocks, die laufen auf allen Systemen:
http://magazin.c-plusplus.de/artikel/Sockets%20und%20das%20HTTP-Protokoll

um einen php-script über HTTP abzufragen :shock:
dafür würde ich eher die erwähnten WinInet-Funktionen verwenden, da spart man sich die implementierung von HTTP, und WinInet läuft afaik auf genau so vielen Systemen (nämlich Windows) wie die winsocks.

Anonymous

unregistriert

9

13.09.2008, 16:47

PCShadow
Komisch? Sockets laufen bei mir auch unter POSIX-Systemen, die WinINet jedoch nicht? Wie kommt das nur?

Außerdem ist das HTTP-Protokoll zu implementieren sowieso nur eine triviale Angelegenheit.

10

13.09.2008, 16:49

Zitat

Benutz doch Winsocks, die laufen auf allen Systemen:
http://magazin.c-plusplus.de/artikel/Sockets%20und%20das%20HTTP-Protokoll

Ach, das ist mir eigentlich egal...

Zitat

Jo, die Funktion würde dir bei deinem Problem helfen!

Danke, hab sie gerade einmal getestet. Immerhin gibt sie "TRUE" zurück.
Aber was kann ich jetzt mit den zwei Variablen anstellen? Ich geh mal davon aus, dass in "lpBuffer" meine gewünschte Zahl steckt.
Allerdings hab ich die gerade ausgegeben, und sie enthält den Wert 23117683. Hab ich einfach was falsch gemacht oder muss ich das noch besonders umwandeln?

Edit: Muss ich das eigentlich auf meine .php-Datei anwenden, die den Wert "echot" (ausgibt), oder muss ich das auf die .txt anwenden, wo der gleiche Wert drinsteht?

Werbeanzeige