Mfc 无法使用WebBrowser(VC)发布数据
我有一个嵌入CWebBrowser的MFC应用程序。我想在导航到指定网站时发布数据。 通过互联网上的一些调查, 我知道Navigate方法的一个参数旨在通过它。但是我试了好几次,总是失败。调用navigate方法后,post数据不在数据通信中传输(是的,我捕获数据并检查它)。 我还检查before2Navigate calback的post参数,它是空的 这是我的片段Mfc 无法使用WebBrowser(VC)发布数据,mfc,iwebbrowser2,postdata,Mfc,Iwebbrowser2,Postdata,我有一个嵌入CWebBrowser的MFC应用程序。我想在导航到指定网站时发布数据。 通过互联网上的一些调查, 我知道Navigate方法的一个参数旨在通过它。但是我试了好几次,总是失败。调用navigate方法后,post数据不在数据通信中传输(是的,我捕获数据并检查它)。 我还检查before2Navigate calback的post参数,它是空的 这是我的片段 void PostData(LPCTSTR URL , LPCTSTR pPostData = NULL ) {
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) ;
}
请帮帮我。非常感谢。我已经找到了原因,那是由于PostData的类型不正确造成的。 正如我在代码中提到的,PostData的构造使VT_BSTR变为变量,而正确的是VT_ARRAY | VT_UI1 这是供你参考的链接,希望对你有所帮助 需要注意的一点是,VS的示例可能有缺陷,不能在unicode中使用