zoukankan      html  css  js  c++  java
  • C# 代理HTTP请求

    目的: 应该有不少人需要去某些网站不停爬取数据,有时会使用HTTPRequest一直请求某个网站的某个网址。有的网站比如 QQ空间,赶集网(这是我测试的网站),不停刷新会提醒你的账号异常,可能会查封你几天禁止访问该网站。我想为了网站的安全,大多大型网站都会有这样一个措施。

    但是,有些工作的确需要抓取这些特定页面上的数据?如何做?

    答案是使用代理ip访问这些网址

    在C#中怎么使用???

    直接贴一下代码

    代理ip网上一搜一大把,这个你可以自己去这个网站上抓取,这样就可以测试哪些ip能用,哪些ip已经不能使用了

    WebProxy proxyObject = new WebProxy(str, port);//str为IP地址 port为端口号 代理类
    HttpWebRequest Req = (HttpWebRequest)WebRequest.Create("http://www.whatismyip.com.tw"); // 访问这个网站 ,返回的就是你发出请求的代理ip 这个做代理ip测试非常方便,可以知道代理是否成功

    //HttpWebRequest Req = (HttpWebRequest)WebRequest.Create("http://www.baidu.com"); // 61.183.192.5
    Req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; QQWubi 133; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CIBA; InfoPath.2)";

    Req.Proxy = proxyObject; //设置代理
    Req.Method = "GET";
    HttpWebResponse Resp = (HttpWebResponse)Req.GetResponse();
    string StringSub = "";
    string OkStr = "";
    Encoding code = Encoding.GetEncoding("UTF-8");
    using (StreamReader sr = new StreamReader(Resp.GetResponseStream(), code))
    {

      str = sr.ReadToEnd();//获取得到的网址html返回数据,这里就可以使用某些解析html的dll直接使用了,比如htmlpaser 

    }

  • 相关阅读:
    github设置添加SSH
    windows下使用git管理github项目
    WGS84、Web墨卡托、火星坐标、百度坐标互转
    用IrisSkin2.dll美化你的WinForm
    GDAL读写矢量文件——Python
    GIS矢量数据化简:一种改进的道格拉斯-普克算法以及C++实现
    ArcGIS的地理坐标系与大地坐标系
    ArcGIS Engine生成等值线(C#)
    ArcMap等值面
    MongoDB介绍及安装
  • 原文地址:https://www.cnblogs.com/ShalenChe/p/5405013.html
Copyright © 2011-2022 走看看