[quote=引用 9 楼 CharlesSimonyi 的回复:] 一般的网站,在同进程中用wininet进行POST成功以后,刷新一下webbrowser就已经是登录状态了。 少数网站不行,可以用chrome浏览器看看这个网站登录后有哪些cookie,然后POST成功时,用CHttpFile::QueryInfo结合HTTP_QUERY_SET_COOKIE标志获取Cookie,然后用InternetSetCookie设置一下,然后刷新webbrowser
首先在浏览器中抓包,看看手工登录的时候它是怎么POST的,然后按照它POST的数据格式,尝试用Wininet进行POST,楼上说的这些类就是MFC对Wininet的封装
CInternetSession::OpenURL CHttpFile::SendRequest()
一般的网站,在同进程中用wininet进行POST成功以后,刷新一下webbrowser就已经是登录状态了。 少数网站不行,可以用chrome浏览器看看这个网站登录后有哪些cookie,然后POST成功时,用CHttpFile::QueryInfo结合HTTP_QUERY_SET_COOKIE标志获取Cookie,然后用InternetSetCookie设置一下,然后刷新webbrowser
看POST返回的数据是否是登录后的HTML内容。 如果是,则将WebBrowser导航到登录后的网址,看是否处于已登录状态
18,356
社区成员
64,214
社区内容
加载中
试试用AI创作助手写篇文章吧