#.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;
        }
    }

 

 

目录
相关文章
|
4月前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
53 5
|
网络安全
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 什么原因导致得
2488 0
|
7月前
|
开发框架 .NET 中间件
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
161 7
|
4月前
|
API
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
|
4月前
|
开发框架 前端开发 .NET
七天.NET 8操作SQLite入门到实战 - (3)第七天Blazor学生管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (3)第七天Blazor学生管理页面编写和接口对接
|
4月前
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
|
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处理方案
|
7月前
|
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
78 0
|
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