C#用HttpWebRequest通过代理服务器验证后抓取网页内容

C# HttpWebRequest详解 一.前言 HttpWebRequest是C#原生语法提供的实现了Http协议完整封装的类,可以实现任意类型的Http请求。但是也因为参数众多,导致很多人不容易掌握它。 今天我们来尝试从简入繁的给大家介绍下HttpWebRequest 二.常用属性 AllowAutoRedirect:获取或设置一个值,该值指示请求是否应跟随重定向响应。 CookieContainer:获取或设置与此请求关联的cookie。 Credentials:获取或设置请求的身份验证信息。 KeepAlive:获取或设置 阅读详情

来自:http://www.cnblogs.com/wenanry/archive/2009/02/13/1390160.html

内网用户或代理上网的用户使用

using System.IO;
using System.Net;

public string get_html()

{

string urlStr = "http://www.domain.com";                              //設定要獲取的地址
HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(urlStr);      //建立HttpWebRequest對象
hwr.Timeout = 60000;                                                  //定義服務器超時時間
WebProxy proxy = new WebProxy();                                      //定義一個網關對象
proxy.Address = new Uri("http://proxy.domain.com:3128");              //網關服務器:端口
proxy.Credentials = new NetworkCredential("f3210316", "6978233");      //用戶名,密碼
hwr.UseDefaultCredentials = true;                                      //啟用網關認証
hwr.Proxy = proxy;                                                      //設置網關

try
{

        HttpWebResponse hwrs = (HttpWebResponse)hwr.GetResponse();              //取得回應

}

catch
{
         MessageBox.Show("无法连接代理!");
         return;
}

//判断HTTP响应状态
if(hwrs.StatusCode != HttpStatusCode.OK)
{
         MessageBox.Show("访问失败!");
         hwrs.Close();
         return;
}
else

{
        Stream s = hwrs.GetResponseStream();                                  //得到回應的流對象
        StreamReader sr = new StreamReader(s, Encoding.UTF8);                  //以UTF-8編碼讀取流
        StringBuilder content = new StringBuilder();                          //
    while (sr.Peek() != -1)                                                  //每次讀取一行,直到
    {                                                                      //下一個字節沒有內容
        content.Append(sr.ReadLine()+""r"n");                              //返回為止
    }                                                                      //
        //return content.ToString() ;

}

//输出所有的Header(当然包括服务器输出的Cookie)
//for(int ii=0;ii<hwrs.Headers.Count;ii++)
//{
//MessageBox.Show(hwrs.Headers.GetKey(ii)+":"+res.Headers[ii]);
//}

}

C#用HttpWebRequest通过代理服务器验证后抓取网页内容

大家知道,用HttpWebRequest可以通过Http对网页进行抓取,但是如果是内网,而且是通过代理上网的用户,如果直接进行操作是行不通的。
那有没有什么办法呢?
当然有,呵呵,见以下代码:

string urlStr = " http://www.domain.com " ;                            // 設定要獲取的地址
HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(urlStr);    // 建立HttpWebRequest對象
hwr.Timeout = 60000 ;                                                // 定義服務器超時時間
WebProxy proxy = new WebProxy();                                    // 定義一個網關對象
proxy.Address = new Uri( " http://proxy.domain.com:3128 " );            // 網關服務器:端口
proxy.Credentials = new NetworkCredential( " f3210316 " , " 6978233 " );    // 用戶名,密碼
hwr.UseDefaultCredentials = true ;                                    // 啟用網關認証
hwr.Proxy = proxy;                                                    // 設置網關
HttpWebResponse hwrs = (HttpWebResponse)hwr.GetResponse();            // 取得回應
Stream s = hwrs.GetResponseStream();                                // 得到回應的流對象
StreamReader sr = new StreamReader(s, Encoding.UTF8);                // 以UTF-8編碼讀取流
StringBuilder content = new StringBuilder();                        //
while (sr.Peek() != - 1 )                                                // 每次讀取一行,直到
{                                                                    //下一個字節沒有內容
    content.Append(sr.ReadLine()+""r"n");                            //返回為止
}
                                                                    //
return content.ToString() ;                                            // 返回得到的字符串

 

HttpToSocks5Proxy:C#Http到Socks5代理的实现 HttpToSocks5Proxy 使用.NET HttpClient时,该库允许您通过Socks5代理进行连接。 它实现了IWebProxy接口,因此可以与所有支持HTTP / HTTPS代理的库一起使用。 HttpClient的用法 using MihaZupan ; var proxy = new HttpToSocks5Proxy ( " 127.0.0.1 " , 1080 ); var handler = new HttpClientHandler { Proxy = proxy }; HttpClient httpClient = new HttpClient ( handler , true ); var result = await httpClient . SendAsync ( new HttpRequestMessage ( HttpMethod . 立即下载

相关推荐

C#基于HttpWebRequest实现模拟登陆

平时用浏览器看网页的时候,点击一下submit按钮的时候其实就是给服务器发送了一个POST请求。但是如何在自己的C#程序里面实现类似的功能呢?本文给出具体的实现方法并详细说明其实现难点。

C# 用HttpWebRequest模拟一个虚假的IP伪造ip

有人会说:IP验证是在TCP层完成的,不是HTTP层完成的,如果伪造IP的话可能连TCP的三次握手都完不成。我这里说的不是完全意义的伪造。如果你使用透明代理上网,那么在透明代理发送给服务器端的HTTP请求中会包含x-forward-for信息。例如:X-Forwarded-For:162.150.10.16那么我们只要在发给服务器端的http请求中加入X-Forward...

weixin_30855099的博客 1213

如何伪造IP 发送HTTP请求request

如何伪造IP 发送HTTP请求request.zip

c# 设置代理服务器发送http请求

c# 设置代理服务器发送http请求

qq_36437991的博客 2491

Dynamics 365 F&O 开发入门(一)-- 从零开始建表

从零开始一步一步教你在Dynamics 365 F&O中创建一个表

qq_48843110的博客 942

51单片机+HX711电子秤Proteus仿真保姆级教程(附完整源码与避坑指南)

本文详细介绍了51单片机与HX711电子秤在Proteus仿真中的全流程实战指南,包括电路设计、核心代码实现、典型问题排查及系统集成等关键步骤。特别提供了HX711驱动程序的编写技巧和称重数据处理算法,帮助开发者快速搭建高精度电子秤仿真系统,并避免常见的设计陷阱。

weixin_30752699的博客 413

.net HttpWebRequest使用代理请求

string responseStr = "";  HttpWebRequest myWebRequest = (HttpWebRequest)System.Net.WebRequest.Create(url);                             WebProxy proxyObject = new WebProxy(Ip, true);//str为IP地址 port

☆╮123☆ 7140

18、深入解析航空飞行数据中的秘密:从数据清理到高级分析

本文详细解析了如何使用R语言处理和分析航空飞行数据,从基础的数据清理到复杂的回归分析和机器学习模型构建。文章涵盖了探索性数据分析、天气数据的整合、地理信息可视化、时间序列预测以及航班延误的优化策略等内容,展示了如何通过数据挖掘技术提高航空运营效率和乘客满意度,并探讨了数据质量评估与隐私保护的重要性。

convnet3designer的博客 107

C#用HttpWebRequest通过代理服务器验证后抓取网页内容 。。。。。

string urlStr = "http://www.domain.com/"; //設定要獲取的地址 HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(urlStr); //建立HttpWebRequest對象 hwr.Timeout = 60000;...

weixin_30799995的博客 87

HFSS实战项目——微带带通滤波器设计

本文详细介绍并设计了一款微带带通滤波器,通过HFSS三位电磁仿真软件对其进行仿真设计及优化,仿真结果表明,本文设计的滤波器表现出优良的滤波性能,符合设计要求。

2401_87464239的博客 5393

互联网的发展简史—web

互联网是我现在生活所离不开的一个东西,但是你知道互联网的前世今生吗?本文将讲解互联网的发展史,以及很火的元宇宙概念。

yj11290301的博客 3562

sdasdasdsadsa

http://msdn.microsoft.com/zh-cn/library/system.net.httpwebrequest.getresponse(v=VS.80).aspx http://archive.cnblogs.com/a/2176475/ 最近公司拓展市场异常迅猛,数周之类开出去几十套系统,虽然系统名字不一样,但各个内容相似。由于时间紧迫,很多开出去的系统 出现各种神奇的

qinqijing198601的专栏 430

RK3588 部署 YOLO26 目标检测:PT → ONNX → RKNN 全流程

YOLO26n 在 RK3588 上 INT8 量化后 NPU 推理约 15ms,系统 FPS 约 55,可以覆盖边缘端实时检测需求。模型从 PT 到 RKNN 的转换要用opset=11避免算子兼容问题。先用 YOLO26n + 640 输入跑通全链路,确认推理结果正确后再做性能调优。

m0_64661770的博客 305

通过代理服务器验证后在抓取网页内容

 C#用HttpWebRequest通过代理服务器验证后抓取网页内容 。。。。。 string urlStr = "http://www.domain.com";                            //設定要獲取的地址HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(urlStr);    //建立

peter1_jiang的专栏 1182

Android Audio录音——AudioRecord回声消除(九)

在语音通话或录音场景中,回声(Acoustic Echo)通常是指说话的声音从对方的扬声器播放出来,又被对方的麦克风拾取,然后有被传回来,导致我们听到了自己延迟了一段时间的重复声音。

小旭的专栏 1404

D16: OpenClaw + Notion API:知识管理新玩法

本文介绍了如何利用OpenClaw连接Notion API构建自动化知识管理系统。文章首先分析了传统知识管理的痛点,包括信息分散、更新不及时等问题,并对比了Notion与其他工具在API完整性、结构化程度等方面的优势。接着详细说明了Notion API的获取和授权流程,并设计了包含项目知识库、技术决策库和会议纪要库的三层架构系统。最后通过会议纪要自动归档的实战案例,展示了如何通过YAML配置实现从飞书会议到Notion的自动化知识沉淀流程。该方案能有效解决团队知识管理中的信息碎片化问题,提升协作效率。

刘一说的IT专栏 274

HttpWebRequest.Proxy属性

HttpWebRequest.Proxy默认使用IE代理,可以设置“Internet选项-Internet属性-连接-局域网设置-代理服务器”。 转载于:https://www.cnblogs.com/MrHacker/p/5007272.html

dnwm92175的博客 670

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

WebRequest.Proxy Property (System.Net)

WebRequest.Proxy Property (System.Net) WebRequest.Proxy Property (System.Net)The following example displays the current network proxy...

149

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C#中HttpWebRequest的用法详解

HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择。它们支持一系列有用的属性。这两个类位 于System.Net命名空间,默认情况下这个类对于控制台程序来说是可访问的。请注意,HttpWebRequest对象不是利用new关键字通过构 造函数来创建的,而是利用工厂机制(factory mechanism)通过Create()方法来创建的。另外,你可...

主宰 9万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: C#解决MDI窗体闪屏的方法 --(arvin推荐)
下一篇: Firefox中jQuery.ajax()返回Xml Document
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值