Ejemplo n.º 1
0
void CED2KFileLink::GetLink(CString& lnk) const
{
	lnk = _T("ed2k://|file|");
	lnk += EncodeUrlUtf8(m_name);
	lnk += _T("|");
	lnk += m_size;
	lnk += _T("|");
	for (int idx=0; idx != 16 ; ++idx ) {
		unsigned int ui1 = m_hash[idx] / 16;
		unsigned int ui2 = m_hash[idx] % 16;
		lnk+= static_cast<TCHAR>( ui1 > 9 ? (_T('0')+ui1) : (_T('A')+(ui1-10)) );
		lnk+= static_cast<TCHAR>( ui2 > 9 ? (_T('0')+ui2) : (_T('A')+(ui2-10)) );
	}
	lnk += _T("|/");
}
Ejemplo n.º 2
0
CStringA CUrlSrcGetFromSvrSocket::GetUrlPath()
{
	if (::IsBadReadPtr(m_pMgr, sizeof(CUrlSrcFromSvrMgr)))
		return "";

	CStringA	strUrlPath;
	CStringA	strHash;
	CStringA	strSize;
	CStringA	strFileName;
	CStringA	strEncodedFileName;

	if( NULL==m_pMgr->m_pAssocPartFile )
		return "";

	try
	{
		//	Hash
		strHash = md4str(m_pMgr->m_pAssocPartFile->GetFileHash());
		strHash.MakeLower();		//必须都为小写。

		//	Size
		char szSize[1024];
		_i64toa(m_pMgr->m_pAssocPartFile->GetFileSize(), szSize,10);
		strSize = szSize;

		//strHash = "48F8220C4FF02D4E5AD11DD5E1E305CB";
		//strHash.MakeLower();
		//strSize = "125753277";
		//lptszFileName = _T("PopKart_Setup_P092.exe");

		//	FileName
		strEncodedFileName = EncodeUrlUtf8(m_pMgr->m_pAssocPartFile->GetFileName());

		//	construct UrlPath
		//strUrlPath.Format("http://client.stat.verycd.com/dl/%s%s/%s/start", strHash, strSize, strEncodedFileName);

		if (m_bStart)
			strUrlPath.Format("/dl/%s%s/%s/start", strHash, strSize, strEncodedFileName);
		else
			strUrlPath.Format("/dl/%s%s/%s/finished", strHash, strSize, strEncodedFileName);

		return strUrlPath;
	}
	catch ( ... ) 
	{
		return "";
	}
}
Ejemplo n.º 3
0
CString UrlConvert( CString strUrl )
{
	CString urlConverted;
	//this is another way to process ftp url Decode	
	if( (strUrl.Left(7).CompareNoCase(_T("http://")) != 0) ) //ftp...
	{

		ParseUrlString( strUrl );
		strUrl.Replace(_T('\\'),_T('/'));
	}
	else
	{		
		strUrl = URLDecode(strUrl);
		strUrl.Replace(_T('\\'),_T('/'));
		strUrl = EncodeUrlUtf8(strUrl);		
	}	
	
	return strUrl; //for http
}
Ejemplo n.º 4
0
void CED2KSearchLink::GetLink(CString& lnk) const
{
    lnk.Format(_T("ed2k://|search|%s|/"), EncodeUrlUtf8(m_strSearchTerm));
}