????? ??????? ?? ????? POST ?? ????? ???????? ???? ???????

?????? ????????? ?????? ?????????
???? ???????: 280522 - ??? ???????? ???? ????? ????? ??? ???????.
??? ????? ??? ???????. ????? "??? ??" ??? ??? ??????? ??? ????.
????? ???? | ?? ????

??????

??????? ??????? ????????? ???? ?????? ???? ?????? POST ???????. ???? ??? ??????? ????? ?????? ????? POST ?? ????? ???????? ???? ?????? ?????? (APPH).

??????? ????

???? APPH ?????? POST (?? ???? URLMON) ?? ?????? ???? ?? ???? ????????? ??? ?? ???? ?? ??????? ??????? ?? "????? ??????? ? Microsoft":
165800 PostMon.exe ???? ????? ??????? ??? ???? ???? ????????? ?????? ????????
???????? ??? ???? ???? ??????? ??? MIME ??????? POST ?? ???? ????? IInternetBindInfo::GetBindString ?? ????? ???? ?? BINDSTRING_POST_DATA_MIME.

??? ?????????? ????? ??????? ????????? ???????? ??????? ?????? ??? ?????? POST ?? ???? ????? IInternetProtocol::Start() APPH:
STDMETHODIMP CMyPlugProt::Start(
        LPCWSTR szUrl,
        IInternetProtocolSink *pIProtSink,
        IInternetBindInfo *pIBindInfo,
        DWORD grfSTI,
        DWORD dwReserved)
{

	// Retrieve POST data.
	// m_bindinfo and m_bindf are members of the CMyPlugProt class, declared as:
	// 	BINDINFO m_bindinfo;
	// 	DWORD m_bindf;

	m_bindinfo.cbSize = sizeof(BINDINFO);
	if (pIBindInfo)
		hr = pIBindInfo->GetBindInfo(&m_bindf, &m_bindinfo);
	
	switch (m_bindinfo.dwBindVerb)
	{
	case    BINDVERB_POST:
		void *pData;
		UINT cPostData;	// Post data size.
		
		if (m_bindinfo.stgmedData.tymed != TYMED_HGLOBAL)
			break;
		
		cPostData = m_bindinfo.cbstgmedData;
		if (!cPostData)
			break;
		
		pData = GlobalLock(m_bindinfo.stgmedData.hGlobal);
		if (pData)
		{
			// Allocate space to store the POST data if required.
			// For instance, a member variable, m_postData, 
			// declared as "BYTE *m_postData;", could be used 
			// as below:
			// 	m_postData = new BYTE[cPostData];
			// 	memcpy(m_postData, pData, cPostData);
			
			// After checking the data, unlock buffer.
			GlobalUnlock(m_bindinfo.stgmedData.hGlobal);
			
			// Retrieve MIME type of the post data.
			LPOLESTR pszMIMEType;	
			ULONG dwSize;
			hr = pIBindInfo->GetBindString(
				BINDSTRING_POST_DATA_MIME, &pszMIMEType, 1, &dwSize);
			
			if(hr == S_OK)
			{
				// pszMIMEType now contains the MIME type of the post data.
				// This would typically be "application/x-www-form-urlencoded" 
				// for a POST. In general, it could be any (standard or 
				// otherwise) MIME type. Many of the standard MIME type strings 
				// are #defined in <URLMon.h>. For instance, CFSTR_MIME_TEXT 
				// is L"text/plain".
				
				// Store the MIME type in a member variable here, if required.

				// Finally, free pszMIMEType via CoTaskMemFree.
				if (pszMIMEType)
				{
					CoTaskMemFree(pszMIMEType);
					pszMIMEType = NULL;
				}
			}
			else
			{
				// Assume "application/x-www-form-urlencoded".
			}
			
		}
		
		break;
		
	default:
		// It's a GET.
		break;
	}

}	// End of function STDMETHODIMP CMyPlugProt::Start()
				

?????

????? ?? ?????????? ???? ???????? ??????? ?? Microsoft Developer Network:
???? ???? ??? ?????????? ??????? ??? ??????
http://msdn2.microsoft.com/en-us/library/Aa767916.aspx

????? ?? ????????? ??? ????? ?????? ???????? ??? ??? ? Microsoft Internet Explorer? ?? ?????? ????? Microsoft ???????? ??? ?????:
http://msdn.microsoft.com/ie/

http://support.microsoft.com/iep

???????

???? ???????: 280522 - ????? ??? ??????: 06/???? ??????/1435 - ??????: 4.0
????? ???
  • Microsoft Internet Explorer 4.01 Service Pack 1
????? ??????: 
kbnosurvey kbarchive kbhowto kburlmon kbmt KB280522 KbMtar
????? ????
???: ??? ????? ??? ??????? ???????? ????? ?????????? ??????? ?????? ??? ??????? ?? ??? ??????? ?? ??????? ??? ??? ?? ???? ????????? ???? ??????? ???????(CTF) ?? ?? ???? ????? ????. ???? ?? ???? ?????????? ??? ???????? ???????? ???? ??? ?? ???????? ??????? ?? ??? ??????? ???????? ?? ??? ??????? ??????? ??? ?????? ?? ?????? ??? ???? ???????? ???????? ?? ????? ??????? ????? ????? ??????. ??? ?? ???????? ???????? ?? ????? ??? ????? ?? ???????? ?? ???? ????? ?? ?????. ?????? ??? ???? ?????????? ???? ?????? ?? ??? ????? ?? ??? ??? ?? ??????? ?? ??? ????? ?? ???? ????? ????? ?? ????? ??????? ???? ?? ???????? ?? ??? ???????.
???? ??? ????? ??????? ?????? ??????????280522

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com