Formulardaten mit WinInet (C++) senden
Posted: 19 Jan 2025, 00:04
Ich bin ein professioneller Anwalt und ein Amateurprogrammierer (hauptsächlich C++). Täglich muss ich auf dieselbe Website zugreifen und nach Unmengen von Gerichtsverfahren (Klartext) suchen. Kürzlich kam mir die Idee, eine einfache C++-Funktion zu schreiben, um die Formulardaten automatisch an die Site zu senden, was mir viel Arbeitszeit sparen würde. Ich habe mich in den letzten Tagen mit WinInet vertraut gemacht und nach vielen Stunden ist es mir gelungen, eine einfache GET-Anfrage zu senden und den Quellcode der Hauptseite abzurufen, aber weiter komme ich nicht. Mein Ziel ist es, (glaube ich) eine POST-Anfrage mit den Suchparametern an die Site zu senden und als Antwort den Quellcode der echten Suchergebnisseite zu erhalten.
Was ich programmieren konnte Bisher ist es fast wertlos, aber es gibt zumindest einen Einblick in meinen aktuellen Zustand.
Was ich programmieren konnte Bisher ist es fast wertlos, aber es gibt zumindest einen Einblick in meinen aktuellen Zustand.
Code: Select all
#include
#include
#include
#pragma comment (lib, "Wininet.lib")
bool GetRequest() {
HINTERNET hSession = InternetOpen(L"Mozilla/5.0", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
if (!hSession) return false;
HINTERNET hConnect = InternetConnect(hSession, L"scon.stj.jus.br", INTERNET_INVALID_PORT_NUMBER, L"", L"", INTERNET_SERVICE_HTTP, 0, 0);
if (!hConnect) return false;
HINTERNET hRequest = HttpOpenRequest(hConnect, L"GET", L"/", NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 0);
if (!hRequest) return false;
if (!HttpSendRequest(hRequest, 0, 0, 0, 0)) return false;
//from here on, I am able to read the main page source code using InternetReadFile, but I can't submit any form data
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hSession);
return true;
}