如何捕获MFC Web浏览器c ++发出的GET / POST请求

时间:2018-05-23 07:02:20

标签: c++ internet-explorer mfc atl

我有MFC应用程序,它基本上是Web浏览器。我已经使用了CHTMLView类。在执行应用程序时,它将导航到某个默认网页。在该页面上有一些按钮。单击任何按钮将生成GET / POST请求。我想捕获那些GET / POST请求及其响应。此外,我必须确保浏览器获得的响应来自有效的来源。

以下网页与我正在处理的网页类似support.google.com/books/partner/answer/3254227?hl=en在此网页上,有“是”' &安培; '无'按钮。点击任何这些按钮,它会发送一些POST / GET请求

1 个答案:

答案 0 :(得分:2)

DECLARE @Month AS VARCHAR(2) = '05' DECLARE @Year AS VARCHAR(4) = '2018' DECLARE @StartDate DATE = @month+'/01/'+@Year DECLARE @EndDate DATE = EOMONTH(@StartDate) DECLARE @tblDAte AS TABLE (mydate DATE, Monthnam VARCHAR(100)) INSERT INTO @tblDate (mydate,monthnam) SELECT DATEADD(DAY, nbr - 1, @StartDate), DATENAME(weekday,DATEADD(DAY, nbr - 1, @StartDate)) FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY c.object_id ) AS Nbr FROM sys.columns c ) nbrs WHERE nbr - 1 <= DATEDIFF(DAY, @StartDate, @EndDate) SELECT * FROM @tblDate tmp LEFT OUTER JOIN Attendance at ON at.Date = tmp.mydate LEFT OUTER JOIN Employee emp ON emp.Id = at.EmpCode 包裹IWebBrowser2。包裹有用的部分。在这种情况下,您需要CHTMLViewer回调。它是通过GET或POST请求调用的。

如果您不信任该网址(即不是有效来源),您可以使用CHtmlView::OnBeforeNavigate2中的最后一个cancel参数来停止GET或POST。