使用WebBrowser(VC)发布数据失败

时间:2013-08-14 10:40:22

标签: mfc iwebbrowser2 postdata

我有一个嵌入了CWebBrowser的MFC应用程序。我想在导航到指定的网页时发布数据。 通过互联网调查, 我知道Navigate方法的一个参数旨在传递它。但我试了几次,总是失败。调用导航方法后,数据流量中不会传输后期数据(是。我捕获数据并检查它)。 我还检查了before2Navigate calback的post参数,它是空的..

这是我的代码段。

void PostData(LPCTSTR URL , LPCTSTR pPostData = NULL ) {
        _variant_t  flags(0L,VT_I4);
        _variant_t  target_frame_name("");
        _variant_t  post_data(!pPostData  ? _T("") : pPostData) ;  

        _variant_t  headers("Content-Type: application/x-www-form-urlencoded\r\n") ;
        this->Navigate(URL ,&flags,
            &target_frame_name,
            &post_data,
            &headers) ;     
    }

请帮帮我。非常感谢。

1 个答案:

答案 0 :(得分:0)

我发现了原因,这是由不正确的PostData类型引起的。 正如我的代码中所提到的,PostData的构造使VT_BSTR VARIANT成为正确的,而VT_ARRAY | VT_UI1

以下链接供您参考,希望对您有所帮助。

http://support.microsoft.com/default.aspx?scid=KB;en-us;q167658

需要注意的一点是,VS的示例可能存在缺陷,无法在unicode中使用