0

我有一个嵌入了 CWebBrowser 的 MFC 应用程序。我想在导航到指定的 web 时发布数据。通过对互联网的一些调查,我了解到 Navigate 方法的一个论点旨在通过它。但我试了几次,总是失败。调用导航方法后,数据流量中不携带发布数据(是的。我捕获数据并检查它)。我还检查了 before2Navigate 回调的 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) ;     
    }

请帮帮我。非常感谢。

4

1 回答 1

0

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

这是供您参考的链接,希望对您有所帮助。

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

需要注意的一点是VS的例子可能有缺陷,不能在unicode中使用

于 2013-08-14T11:53:42.033 回答