Je peux utiliser le code suivant pour obtenir facilement la source HTML de l'URL, mais comment puis-je obtenir l'URL elle-même? Parce que parfois l'URL initiale traverse certaines redirections et l'URL réelle n'est pas la même et je voudrais la capturer pour l'utilisation. Je n'arrive pas à trouver une bonne documentation sur l'utilisation des méthodes ou propriétés pour winHTTP dans Delphi. Merci!Est-il possible d'obtenir l'URL finale après les redirections utilisant WinHTTP dans Delphi?
var http: variant;
begin
http:=createoleobject('WinHttp.WinHttpRequest.5.1');
http.open('GET', 'http://URLtoWebsite.com', false);
http.send;
showmessage(http.responsetext);
end;
Pourquoi ne pas utiliser une bibliothèque établie tels que Indy ou ICS? –
Initialement, j'ai utilisé indy, et même avec le sslIOhandler, il y a toujours des problèmes avec beaucoup de sites SSL. J'ai donc pensé qu'il serait plus simple d'utiliser winhttp à la place. C'est certainement plus simple pour saisir le code source html. Mais je suis définitivement ouvert à d'autres options si ce n'est pas possible en utilisant winhttp. Et voudrais éviter indy aussi bien à moins theres aucune autre alternative. – gts6
OK, mais pourquoi utilisez-vous le wrapper COM/OLE, au lieu d'utiliser le [WinInet] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa385331.aspx) ou [WinHTTP] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa382925.aspx) API directement? Il n'y a aucun avantage réel à utiliser le wrapper COM/OLE sauf dans les environnements de script. Regardez 'InternetQueryOption()' avec l'indicateur 'INTERNET_OPTION_URL', ou' HttpQueryInfo() 'avec les drapeaux' HTTP_QUERY_CONTENT_LOCATION', 'HTTP_QUERY_LOCATION' et' HTTP_QUERY_URI'. –