CHttpFile 获取URL重定向后的文件名

// 获取URL重定向后的文件名,如果没有重定向,也返回下载文件名
CString GetFileNameFromRedirectUrl(CString strUrl)
{
	CInternetSession iSession; 
	CStdioFile* pFileDown = NULL; 
	CString sFileName; 
 
	pFileDown = iSession.OpenURL(strUrl, 1, INTERNET_FLAG_TRANSFER_BINARY); 
 
	CHttpFile* pHttpFile = (CHttpFile *)pFileDown; 
	HINTERNET hHttpFile = HINTERNET(*pHttpFile); 
 
	//获得重定向文件名 
	BOOL bResult = pHttpFile->QueryOption(INTERNET_OPTION_URL, sFileName);
	int flag=sFileName.ReverseFind('/');
	CString strFileName=sFileName.Mid(flag+1);
 
	return strFileName;
}
本文为“技术点滴”的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注