WebBrowser控件获取发布数据

时间:2012-12-17 04:26:43

标签: c# winforms post webbrowser-control

我在浏览器控件上显示特定网页,不允许他们浏览任何其他页面。

当用户点击提交按钮转到下一页时,我需要抓取帖子数据,然后显示页面。

之前我没有使用浏览器控件,所以我需要获取此信息然后显示页面。

我的网页显示没有任何问题,但我不确定如何在点击提交后获取帖子数据。

到目前为止,这是我的表格......

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ssscc
{
  public partial class GatewayNavigation : Form
  {
    public Size WindowSize { set; get; }

    public GatewayNavigation()
    {
      InitializeComponent();
      InitializeEvents();
      Size = GatewayNavigationFormSettings.FormSize;
    }

    private void InitializeEvents()
    {
      Load += GatewayNavigationLoad;
      webBrowser_Gateway.DocumentCompleted += WebBrowserGatewayDocumentCompleted;
      webBrowser_Gateway.ProgressChanged += WebBrowserGatewayProgressChanged;
    }

    void WebBrowserGatewayProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
    {
      if (e.MaximumProgress > 0)
      {
        int prog = (int)(100 * e.CurrentProgress / e.MaximumProgress);
        if (prog > 99)
        {
          prog = 100;
        }
        progressBar1.Value = prog;
      }
    }

    void WebBrowserGatewayDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
      progressBar1.Visible = false;
    }

    private void GatewayNavigationLoad(object sender, EventArgs e)
    {
      webBrowser_Gateway.AllowNavigation = false;
      webBrowser_Gateway.AllowWebBrowserDrop = false;
      webBrowser_Gateway.Navigate(UrlBuild.FullUrl);
    }
  }
}

有人有任何建议吗?

1 个答案:

答案 0 :(得分:2)

处理WebBrowser.Navigating事件并检查WebBrowserNavigatingEventArgs.Url

编辑:道歉,我的回答是误导。您无法从中提取POST参数。我做了一些研究并找到了this question,我希望能帮助解决这个问题。我使用dynamic关键字尝试了这个示例,但它似乎对我不起作用。