kleinen php browser schreiben



  • Hi,

    ich hab vor ein programm zu schreiben, dass auf eine Internetseite, die php enthält, zugreifen soll und dabei auch in formulare usw. "eintrage" soll. Das ganze soll aber natürlich nicht auf der Ebene der sichtbaren Formulare laufen, sondern intern. D.h. das Programm müsste dem Server das gleiche senden wie es der IE machen würde, wenn man was in die From eingegeben hätte und dann auf einen Button auf der Seite klicken würde... Ich hoffe die Aufgabe ist deutlich 😉

    Kennt ihr zu diesem Thema Tutorials oder könnt ihr mir irgendwelche grundlegenden Tips geben, z.B. mit welchen WinAPI Funktionen ihr das überhaupt machen würdet etc...

    schonmal Danke
    Mfg Slater



  • Wenn das Formular per GET versandt wird werden die Daten einfach an die URL angehängt. Bei POST kommen sie einfach nach der Anfrage 😉 Oder was genau wolltest du jetzt wissen? 😕



  • Hi,

    ja mich würde nun nochma interessieren welche WinApi Funktionen man am besten für nen kjleien http / php browser benutzt und obs dazu ne kurze Anleitung/ Tutorial gibt...

    THX Slater



  • was verstehst du unter einem PHP-Browser? Du bist dir schon bewusst, dass PHP komplett auf dem Server abläuft, oder 😕



  • hehe ok dann halt html browser... wenn ich das richtig sehe schickt man bei php ja auch nur internetadressen mit anhängsel und bekommt wiederum htmlcode... nur wollte ich jetzt wissen mit welchen api funktionen ich das am besten machen...

    greetz slater



  • WA willst du dann jetzt überhaupt machen? HTML-Seiten anzeigen, oder dir nur den Quelltext holen? Falls ersteres könntest du den IE einbinden und diesen die Seite darstellen lassen - sowas selber zu programmieren kannst du vergessen 🤡



  • ne brauche nur den quelltext...



  • InternetReadFile oder direkt über sockets 🙂



  • hmm leider funktioniert das bei mir im mom noch überhaupt nicht 😞 InternetReadFile schlägt immer fehl sowohl bei html seiten als auch bei php seiten...



  • Du rufst aber schon auch InternetOpen & Co. auf, oder 😕 Code findest du sicher über die Forensuche, ansonsten kannst du mal deinen Code posten... (Bei Fehlern immer zuerst GetLastError überprüfen)



  • ok mein fehler 🤡 hatte erst httprequest usw. beutzt was irgendwie nich ging... nun InternetOpenUrl und wenn man auch brav http:// eingibt geht es 😮

    Auf jeden Fall Danke...
    greetz Slater



  • Ne, das ding is was anderes:
    Man hat ne Page (z.B. ein Gästebuch) und man will dann per POST die Daten an das PHP-Script übergeben.

    Wie muss der POST-request aussehen, wenn in der HTML-Form drei Variablen sind: Zahl, login, password ?
    Alles was ich da bisher gemacht hab is fehlgeschlagen. Der Server reagiert nicht, weil mein Request anscheinend nicht korrekt ist...

    crYpe



  • Du must dir einfach den HTTP-Header zusammenbauen www.w3.org/Protocols/rfc2616/rfc2616.html und den dann an das Script schicken 😉



  • hmm also funtkioniert das nich wenn man einfach

    die seite "http://gaestebuch.de/login.php?name=sowieso&pass=kommnix&id=164616" aufruft?



  • Zusätzliches Problem:

    DWORD ComUrl(char* url,char* type,char* offset,char* buffer)
    {
    	HINTERNET hInternet = InternetOpen("Microsoft Internet Explorer",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0); 
        if(!hInternet)	
    		return 0; 
    
        HINTERNET hInternetSite = InternetConnect(hInternet,url,INTERNET_DEFAULT_HTTP_PORT,NULL,NULL,INTERNET_SERVICE_HTTP,NULL,0); 
        if(!hInternetSite)
    		return 0;
    
        HINTERNET hInternetSiteRequest = HttpOpenRequest(hInternetSite,type,offset,NULL,NULL,NULL,0,0); 
        if(!hInternetSiteRequest)
    		return 0;
    
        if(!HttpSendRequest(hInternetSiteRequest,NULL,0,NULL,0))
    		return 0;
    
        DWORD dwRead = 0; 
        if(!InternetReadFile(hInternetSiteRequest,buffer,sizeof(buffer),&dwRead))
    		return 0;
    
        InternetCloseHandle(hInternetSiteRequest);
        InternetCloseHandle(hInternetSite);
        InternetCloseHandle(hInternet);
    
    	return dwRead;
    }
    

    Der Code funktioniert nich mehr - er gibt zwar nich 0 zurück, aber der buffer is bis auf nen paar leerzeichen am anfang unverändert... 😕

    Mit InternetOpenUrl funzt alles, aber da kann man ja nich "GET" usw. angeben... muss aber "POST" angeben.



  • huhu 👍


Anmelden zum Antworten