如何从Hinternet手柄中获取URL

How to get URL from HINTERNET handle

本文关键字:获取 URL Hinternet      更新时间:2023-10-16

我使用wininet库并将其挂钩以监视Internet请求。

挂钩函数是" Internet Connectw"," httpopenrequestw"answers" InternetReadFile"。

首先,我从" InternetConnectw"中获得了Hinternet句柄。

我从" httpopenrequestw"带有第一个手柄的第二个hinternet手柄。

当我挂接" InternetReadFile"时,参数包括第二个句柄。

这是InternetReadFile挂钩函数。

布尔stdapicallTypeHook_internetReadFile(__在hinternet hfile,__out lpvoid lpbuffer,__in dword dwnumberofbytestoread,__out lpdword lpdwnumberofbytesread){   //我想在这里获取Internet HTTP URL !!!!!    返回Origin_internetReadFile(Hfile,LpBuffer,DwnumberofbyTestoread,lpdwnumberofbytesread);}

如何从Hinternet手柄中获取URL?

尝试将INTERNET_OPTION_URL与InternetQueryOption一起使用。

示例:

TCHAR *szUrl = new TCHAR[INTERNET_MAX_URL_LENGTH];
DWORD dwLen = sizeof(TCHAR)*INTERNET_MAX_URL_LENGTH;
BOOL bRet = InternetQueryOption(hFile, INTERNET_OPTION_URL, szUrl, &dwLen);