c#使用WebClient登录网站抓取登录后的网页

C#登录网站实际上就是模拟浏览器提交表单,然后记录浏览器响应返回的会话Cookie值,再次发送请求时带着这个会话cookie值去请求就可以实现模拟登录的效果了。如下类CookieAwareWebCl

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

C#登录网站实际上就是模拟浏览器提交表单,然后记录浏览器响应返回的会话Cookie值,再次发送请求时带着这个会话cookie值去请求就可以实现模拟登录的效果了。

如下类CookieAwareWebClient实现在发送请求时都带着cookie。

public class CookieAwareWebClient : WebClient
{/* 何问起 hwq2.com */
    private CookieContainer cookie = new CookieContainer();

    protected override WebRequest GetWebRequest(Uri address)
    {
        WebRequest request = base.GetWebRequest(address);
        if (request is HttpWebRequest)
        {
            (request as HttpWebRequest).CookieContainer = cookie;
        }
        return request;
    }
}/* 何问起 hovertree.com */

如下是模拟表单提交登录的使用示例:

var client = new CookieAwareWebClient();
client.BaseAddress = @"https://hovertree.net/any/base/url/";
var loginData = new NameValueCollection();
loginData.Add("login", "YourLogin");
loginData.Add("password", "YourPassword");
client.UploadValues("login.php", "POST", loginData);

//Now you are logged in and can request pages    
string htmlSource = client.DownloadString("index.php");/* 何问起 hwq2.com */

推荐:http://www.cnblogs.com/roucheng/p/csharpfetch.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120330.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 控制台打印图形_前端控制台打印

    控制台打印图形_前端控制台打印问题描述一、在控制台输出以星号打印的三角形思路:在外部使用循环语句执行5次每次打印1行,每行的内容分别为空格和星号,每行空格缩进的数量为5减去所在行数,星号的数量是所在行数的2倍减1。在内部使用循环语句首先打印空格,然后打印星号”*”,对应的打印次数用循环次数控制,打印星号之后就可以换行。publicstaticvoidmain(String[]args){ //打印图形, intn=5;//表示要打印几行 for(inti=1;i<=n;i++){//i表示每行

    2022年10月20日
    3
  • 我为什么放弃Go语言

    我为什么放弃Go语言我为什么放弃Go语言?有好几次,当我想起来的时候,总是会问自己:这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言,就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论,但是我有足够详实的客观的论据。

    2022年6月30日
    22
  • SecureCRTPortable的安装和使用(图文详解)

    SecureCRTPortable的安装和使用(图文详解)    不多说,直接上干货!    玩玩这个远程连接软件,是个绿色软件。      别人已经做好了的。       解压之后,  下面,软件展示下,                这会默认去打开,          为了,方便,使用,放到桌面,作为快捷方式    …

    2022年6月11日
    80
  • python下载步骤-python安装教程详解|python下载安装教程步骤「建议收藏」

    python下载步骤-python安装教程详解|python下载安装教程步骤「建议收藏」Python是现在最受欢迎的编程语言,使用Python开发软件应用效率极高,相比其它语言有不可比拟的优势,Python是一种跨平台的计算机程序设计语言。免费开源、最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发,它是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,今天小编分享的是Windows下安装python教…

    2022年5月20日
    35
  • 每天一道算法_8_DNA Sorting

    DescriptionOne measure of “unsortedness” in a sequence is the number of pairs of entries that are out of order with respect to each other. For instance, in the letter sequence “DAABEC”, this mea

    2022年3月10日
    43
  • mysql uniqueidentifier_Uniqueidentifier数据类型[通俗易懂]

    mysql uniqueidentifier_Uniqueidentifier数据类型[通俗易懂]一.Uniqueidentifier数据类型可存储16字节的二进制值Uniqueidentifier用来存储一个全局唯一标识符,即GUID。GUID是唯一的二进制数:世界上的任何两台计算机都不会生成重复的GUID值uniqueidentifier值通常不定义为常量。您可以按下列方式指定uniqueidentifier常量:字符串格式:’6F9619FF-8B86-D011-B42D-00C0…

    2025年10月8日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号