#.NET分别以GET和POST方式抓取远程页面

简介: 代码 引入命名空间using System.IO;using System.Net;using System.Text;using System.Text.RegularExpressions;//以GET方式抓取远程页面内容    public string Get_Http(st...

 

img_405b18b4b6584ae338e0f6ecaf736533.gif 代码
引入命名空间
using  System.IO;
using  System.Net;
using  System.Text;
using  System.Text.RegularExpressions;

// 以GET方式抓取远程页面内容
     public   string  Get_Http( string  tUrl)
    {
        
string  strResult;
        
try
        {
            HttpWebRequest hwr 
=  (HttpWebRequest)HttpWebRequest.Create(tUrl);
            hwr.Timeout 
=   19600 ;
            HttpWebResponse hwrs 
=  (HttpWebResponse)hwr.GetResponse();
            Stream myStream 
=  hwrs.GetResponseStream();
            StreamReader sr 
=   new  StreamReader(myStream, Encoding.Default);
            StringBuilder sb 
=   new  StringBuilder();
            
while  ( - 1   !=  sr.Peek())
            {
                sb.Append(sr.ReadLine() 
+   " \r\n " );
            }
            strResult 
=  sb.ToString();
            hwrs.Close();
        }
        
catch  (Exception ee)
        {
            strResult 
=  ee.Message;
        }
        
return  strResult;
    }

// 以POST方式抓取远程页面内容
// postData为参数列表
     public   string  Post_Http( string  url,  string  postData,  string  encodeType,  out   string  err)
    {
        
string  uriString  =  url;
        
byte [] byteArray;
        
byte [] responseArray;
        
// postData = "checkvalue=32&bbb=%CD%B6%C6%B1&ilc=0&kkk=22";
        Encoding encoding  =  Encoding.GetEncoding(encodeType);
        
try
        {
            WebClient myWebClient 
=   new  WebClient();
            WebHeaderCollection myWebHeaderCollection;
            myWebClient.Headers.Add(
" Content-Type " " application/x-www-form-urlencoded " );
            
// myWebClient.Headers.Add("Referer"," http://xxxxx/xxxxxxxxxxxxxxxxxxxxxxxx ");  
            
// myWebClient.Headers.Add("Accept-Language","zh-cn");  
            myWebHeaderCollection  =  myWebClient.Headers;

            byteArray 
=  encoding.GetBytes(postData);
            responseArray 
=  myWebClient.UploadData(uriString,  " POST " , byteArray);
            err 
=   string .Empty;
            
return   this .StrClearNoUse(encoding.GetString(responseArray));
        }
        
catch  (Exception ex)
        {
            err 
=  ex.Message;
            
return   string .Empty;
        }
    }

 

 

目录
相关文章
|
10天前
|
开发框架 .NET 中间件
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
|
8月前
|
网络安全
Caused by: org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://xxxx.svc.cluster.local:8080/xxxx": Connection reset; nested exception is java.net.SocketException: Connection reset 什么原因导致得
Caused by: org.springframework.web.client.ResourceAccessException: I/O error on POST request for "xxxx.svc.cluster.local:8080/xxxx ": Connection reset; nested exception is java.net.SocketException: Connection reset 什么原因导致得
945 0
|
29天前
|
JavaScript
GET http://192.168.2.198:8080/sockjs-node/info?t=1626862752216 net::ERR_CONNECTION_TIMED_OUT
GET http://192.168.2.198:8080/sockjs-node/info?t=1626862752216 net::ERR_CONNECTION_TIMED_OUT
18 0
|
7月前
|
Java 容器
RestTemplate报错I/O error on POST request for "http://crmjob.xxx.xxx.com/removeJob": Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out问题处理
讲述RestTemplate报错I/O error on POST request for "http://crmjob.xxx.xxx.com/removeJob": Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out处理方案
|
5月前
|
JavaScript 前端开发 API
Vue报错:sockjs.js?9be2:1627 GET http://192.168.43.88:8080/sockjs-node/info?t=1631603986586 net::ERR_CO
Vue报错:sockjs.js?9be2:1627 GET http://192.168.43.88:8080/sockjs-node/info?t=1631603986586 net::ERR_CO
|
10月前
|
开发框架 数据可视化 前端开发
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
354 0
|
12月前
mvc.net分页查询案例——前台页面(Index.aspx)
mvc.net分页查询案例——前台页面(Index.aspx)
47 0
|
开发框架 JSON 前端开发
【C#】.net core2.1,自定义全局类对API接口和视图页面产生的异常统一处理
在开发一个网站项目时,异常处理和过滤功能是最基础的模块 本篇文章就来讲讲,如何自定义全局异常类来统一处理
209 0
|
开发框架 程序员 API
【C#】.net core2.1,通过扩展状态代码页方法对404页面进行全局捕抓并响应信息
在开发一个网站项目时,除了异常过滤功能模块,还需要有针对404不存在的api接口和页面处理功能 本篇文章就来讲讲,如何自定义全局请求状态类来统一处理
188 0