httpwebrequest自动发送所需的httprequests



我正在使用httpwebrequest来模拟发布请求以登录网站。但是,当使用firebug跟踪登录过程中浏览器的操作时,我发现它在登录后会进行一些getRequest。

所以我要寻找的是如何自动使我的帖子请求得到请求?

有人告诉我使用JS功能,但我对此完全毫无意义。

private static async Task<byte[]> LoginAsync(string username, string password)
{
    var postData = new NameValueCollection();
    var uri = new Uri(string.Format("http://{0}/", ServerName));
    postData.Add("name", username);
    postData.Add("password", password);
    postData.Add("login", ParseLoginId(await GetPage("login.php")));
    return await HttpHandler.UploadValuesTaskAsync(uri, postData);
}

我的HTTP处理程序

private CookieContainer _mContainer = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address)
{
    var request = base.GetWebRequest(address);
    if (request is HttpWebRequest)
    {
        (request as HttpWebRequest).CookieContainer = _mContainer;
    }
    return request;
}
public void ClearCookies()
{
    _mContainer = new CookieContainer();
}

我正在使用上面的代码发送POST请求,但问题是它并没有完全模拟浏览器的操作...因此,它不会在登录后自动发送所需的获取请求。

前面的获取请求可能是位置标题重定向。

为什么不使用system.net.webclient类。C#控制台/服务器访问网站该链接向您展示了如何将网络客户扩展到持久性cookie信息。

相关内容

  • 没有找到相关文章

最新更新