2
私はGetHttpConnectionでCInternetSessionを使用していますが、Webフォームを記入して投稿する方法に関する情報はどこにも見つかりません。C++/MFCを使用してWebフォームにhttpでPOSTする方法はありますか?
私はGetHttpConnectionでCInternetSessionを使用していますが、Webフォームを記入して投稿する方法に関する情報はどこにも見つかりません。C++/MFCを使用してWebフォームにhttpでPOSTする方法はありますか?
This knowledge base articleは、CInternetSession
を使用してPOST要求をシミュレートする方法を説明しています。
含まれているサンプルコードでは、このように書きます:
CString strHeaders = _T("Content-Type: application/x-www-form-urlencoded");
// URL-encoded form variables -
// name = "John Doe", userid = "hithere", other = "P&Q"
CString strFormData = _T("name=John+Doe&userid=hithere&other=P%26Q");
CInternetSession session;
CHttpConnection *pConnection = session.GetHttpConnection(_T("ServerNameHere"));
CHttpFile *pFile = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,
_T("FormActionHere"));
BOOL result = pFile->SendRequest(strHeaders, (LPVOID) (LPCTSTR) strFormData,
strFormData.GetLength());
そして、どのように私は、Webサーバによって送り返されるREPONSEページを読むことができますか? –
これは 'pFile'で利用できます。 'Read()'と 'ReadString()'メソッドを使ってそれを抽出することができます。 –
投稿した後、返信コード200が返ってきました。それではpFileを読んで、見つからなかったページの結果を得ました。 –