我有一个嵌入了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) ;
}
请帮帮我。非常感谢。
答案 0 :(得分:0)
我发现了原因,这是由不正确的PostData类型引起的。 正如我的代码中所提到的,PostData的构造使VT_BSTR VARIANT成为正确的,而VT_ARRAY | VT_UI1
以下链接供您参考,希望对您有所帮助。
http://support.microsoft.com/default.aspx?scid=KB;en-us;q167658
需要注意的一点是,VS的示例可能存在缺陷,无法在unicode中使用