HttpRequest Get和Post调用其他页面的方法

HttpRequest Get和Post调用其他页面的方法,需要的朋友可以参考一下

 

   //Get请求方式

复制代码
    private string RequestGet(string Url)
    {
        string PageStr = string.Empty;//用于存放还回的html
        Uri url = new Uri(Url);//Uri类 提供统一资源标识符 (URI) 的对象表示形式和对 URI 各部分的轻松访问。就是处理url地址
        try
        {
            HttpWebRequest httprequest = (HttpWebRequest)WebRequest.Create(url);//根据url地址创建HTTpWebRequest对象
            #region 参数设置
            httprequest.Method = "get";
            //---------------------------------------------设定一些参数(不必要可以)
            
//httprequest.KeepAlive = false;//持久连接设置为false
            
//httprequest.ProtocolVersion = HttpVersion.Version11;// 网络协议的版本
            
//httprequest.Proxy = WebProxy.GetDefaultProxy();//服务器代理
            
//httprequest.ContentType = "application/x-www-form-urlencoded";//http 头
            
//httprequest.AllowAutoRedirect = true;
            
//httprequest.MaximumAutomaticRedirections = 10;
            
//httprequest.Timeout = 30000;//设定超时十秒(毫秒)
            
//httprequest.UserAgent = "mozilla/4.0 (compatible; msie 6.0; windows nt 5.1)"; //浏览器
            
//=================================================
            #endregion
            HttpWebResponse response = (HttpWebResponse)httprequest.GetResponse();//使用HttpWebResponse获取请求的还回值
            Stream steam = response.GetResponseStream();//从还回对象中获取数据流
            StreamReader reader = new StreamReader(steam, Encoding.GetEncoding("gb2312"));//读取数据Encoding.GetEncoding("gb2312")指编码是gb2312,不让中文会乱码的
            PageStr = reader.ReadToEnd();
            reader.Close();
        }
        catch (Exception e)
        {
            PageStr += e.Message;
        }
        return PageStr;
    }
复制代码

 

 

 //Post请求方式,于Get的方式写法相似,所以解释就些少一点了

复制代码
 
  private string RequestPost(string Url,string Context)//两个参数分别是Url地址和Post过去的数据
    {
        string PageStr=string.Empty;
        Uri url = new Uri(Url);
        byte[] reqbytes=Encoding.ASCII.GetBytes(Context);
        try
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.Method = "post";
            req.ContentType = "application/x-www-form-urlencoded";
            req.ContentLength = reqbytes.Length;
            Stream stm = req.GetRequestStream();
            stm.Write(reqbytes, 0, reqbytes.Length);

            stm.Close();
            HttpWebResponse wr = (HttpWebResponse)req.GetResponse();
            Stream stream = wr.GetResponseStream();
            StreamReader srd= new StreamReader(stream,Encoding.GetEncoding("gb2312"));
            PageStr += srd.ReadToEnd();
            stream.Close();
            srd.Close();
        }
        catch (Exception e)
        {
            PageStr += e.Message;
        }
        return PageStr; 
    }
复制代码

 

 

复制代码
public string WebClientGet(string url)

{
    var client = new WebClient();
    client.Headers.Add("user-agent""Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
    var stream = client.OpenRead(url);
    if (stream == nullreturn "";
    var reader = new StreamReader(stream, Encoding.Default);
    var result = reader.ReadToEnd();
    stream.Close();
    reader.Close();
    return result;
}

复制代码
posted on   狼来了  阅读(2253)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示