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 == null) return "";
            var reader = new StreamReader(stream, Encoding.Default);
            var result = reader.ReadToEnd();
            stream.Close();
            reader.Close();
            return result;
        }

时间: 2024-12-03 17:03:41

HttpRequest Get和Post调用其他页面的方法_实用技巧的相关文章

Asp.NET调用百度翻译的方法_实用技巧

本文实例讲述了Asp.NET调用百度翻译的方法.分享给大家供大家参考.具体分析如下: Asp.NET调用百度翻译,如下图所示: HTML代码如下: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="baidu.aspx.cs" Inherits="FanYi_baidu" %>  <!DOCTYPE html PUBLIC &

asp.net中IDataParameter调用存储过程的实现方法_实用技巧

本文实例讲述了asp.net中IDataParameter调用存储过程的实现方法,是asp.net数据库程序设计中非常实用的技巧.分享给大家供大家参考. 具体实现方法如下: public string GenerateExamePaper(string paperType, string driverID, string MacAddr) { int i; IDataParameter[] iData = new SqlParameter[4]; iData[0] = new SqlParame

使用AjaxPro.Net框架实现在客户端调用服务端的方法_实用技巧

此文档将使用AjaxPro.Net框架实现Ajax功能:在客户端异步调用服务端方法.AjaxPro.Net是一个优秀的.net环境下的Ajax框架,用法很简单,可以查阅相关资料,本文档是一个简单的实例讲述使用AjaxPro的几个关键点. 1.下载AjaxPro 组件.并将AjaxPro.dll引用到网站(或项目).下载:Download latest version 7.7.31.1. 2.修改Web.config.在 <system.web> 元素中添加以下代码. <configura

Asp.net 5种页面转向方法_实用技巧

标签 1.<a href="test.aspx"></a> 2.这是最常见的一种转向方法; HyperLink控件 1.Asp.net 服务器端控件 属性NavigateUrl指定要跳转到的Url地址 2.NavigateUrl是可以在服务器端使用代码修改,这个区别于<a> 3.由于HyperLink本身没有事件所以要在服务器端其它事件中设置NavigateUrl 4.代码示例 <Asp:HyperLink id="hyperlink

ASP.NET 跨页面传值方法_实用技巧

1. 使用QueryString变量 QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于传递数组或对象的话,就不能用这个方法了.下面是一个例子: a.aspx的C#代码 复制代码 代码如下: private void Button1_Click(object sender, System.EventArgs e) { string s_url; s_url = "b.aspx?

Asp.net后台调用js 2种方法_实用技巧

1. 用Response.Write方法 代码如下: 复制代码 代码如下: Response.Write("<script type='text/javascript'>alert("XXX");</script>"); 此方法缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上函数定 义,比如 复制代码 代码如下: Response.Write("<scrip

把js文件编译成dll供页面调用的方法_实用技巧

1. 在解决方案中添加一个项目:JSControl 2. 在这个项目添加一个js文件(JScript1.js) 脚本的内容: function showAlert(){ alert('Today is a good dary'); } 3. 改变JScript1.js的属性,Build Action为Embedded Resource(嵌入的资源) 4. 在JSControl项目的AssemblyInfo.cs文件中添加一行:(注意JSControl.JScript1.js,JSControl是

ASP.NET页面优化 性能提升8倍的方法_实用技巧

为了让您对优化的效果有个直观的了解,我准备了下面的测试结果截图: 测试环境: 1. Windows Server 2003 SP2 2. Viaual Studio 2008,使用自带的WebDev.WebServer.EXE运行网站程序. 3. (ThinkPad SL510):Core2 T6670 2.2GHz, 4G内存 二个红框中的数字反映了优化前后的执行时间. 数字表明:优化前后,执行时间有了8倍多的差别. 测试背景 看过了优化结果,再来介绍一下:这个测试到底是在测试什么东西? 现在

详解ASP.NET页面生命周期_实用技巧

ASP.NET页面运行时候,页面将经历一个生命周期,在生命周期中将执行一系列的处理步骤.包括初始化.实例化控件.还原和维护状态.运行时间处理程序代码以及进行呈现.熟悉页面生命周期非常重要,这样我们才能在生命周期的合适阶段编写代码.如果我们能在写代码的时候想着我们现在是在做生命周期的哪一步那将是非常好的. 几个代表性的问题 在开始的时候我们先思考几个问题,看看我们在描述完页面生命周期的时候,能不能回答上这几个问题 1.为什么在服务器端能通过this.textbox1.Text获取到用户提交过来的数