Die folgenden Einträge in der
MSDN könnten dir weiterhelfen:
InternetOpenUrl: Du musst wahrschleinlich das Flag
INTERNET_FLAG_NO_AUTO_REDIRECT setzen, damit du das Ziel des Redirects ermitteln kannst.
HttpQueryInfo: Hiermit kannst du die Headerdaten, welche der Server geschickt hat, betrachten.
Query Info Flags: Diese Flags musst du in der oben genannten
HttpQueryInfo angeben. Besonders
HTTP_QUERY_LOCATION und
HTTP_QUERY_STATUS_CODE sind interessant.
Deine prinzipielle Vorgehensweise sollte diese sein:
- Öffne die URL mittels InternetOpenUrl und dem genannten Flag
- Hole dir den Statuscode der Requests (HttpQueryInfo mit HTTP_QUERY_STATUS_CODE); ist dieser z. B. 301 (beachte dabei die Liste der existierenden Codes), dann sollst du weitergeleitet werden.
- Also nun die Ziellocation ermitteln (HttpQueryInfo mit HTTP_QUERY_LOCATION)
- Neuen Aufruf von InternetOpenUrl mit dem neuen Ziel.
Das sollte funktionieren. Bedenke bitte, dass ich das nicht getestet, sondern nur an Hand der verlinkten Dokumentation hergeleitet habe.
Gruß,
Sven