플러그형 프로토콜 처리기에서 POST 요청 처리 방법

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:280522
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
요약
폼 POST 요청 대상으로 플러그형 프로토콜 있어야 하는 것이 바람직한 경우가 있습니다. 이 문서에서는 비동기 플러그형 프로토콜 처리기 (APPH) POST 요청을 처리 하는 방법에 설명 합니다.
추가 정보
있는 APPH (URLMON)를 통해 POST 데이터 바인드 구조의 일부로 클라이언트에서 Microsoft 기술 자료의 다음 문서에 설명 된 대로 나타납니다.
165800 PostMon.exe는 POST 데이터를 URL 모니커를 사용 하는 방법을 보여 줍니다.
또한 첫 번째 매개 변수 BINDSTRING_POST_DATA_MIME 사용 하 여 IInternetBindInfo::GetBindString 메서드를 사용 하 여 MIME 형식은 게시 데이터를 검색할 수 있습니다.

이 배경 정보를 있는 APPH의 IInternetProtocol::Start() 메서드가 POST 데이터를 가져오려면 다음 코드를 사용할 수 있습니다.
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 웹 사이트를 방문 하십시오.

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 280522 - 마지막 검토: 01/12/2015 17:08:39 - 수정: 5.0

Microsoft Internet Explorer 4.01 서비스 팩 1

  • kbnosurvey kbarchive kbhowto kburlmon kbmt KB280522 KbMtko
피드백