C#请求http post和get

首先先要感谢博主小伟地方提供的博客,让我解决了问题。

同样是先提问题,我们要请求http干什么?

通过请求http,传入我的参数,我希望能够获取到项目里面的某些数据,比如这里,我们需要得到SceneList。

1.参数,传入catagoryid可以得到在这个分类下的场景列表

2.在控制台,把场景列表信息打印出来。

首先GET方法

static void Main(string[] args)
{
    //GET方法
            //首先创建一个httpRequest,用Webrequest.Create(url)的方法
            HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("http://localhost:5534/Home/SceneList?catagoryid=2");
            //初始化httpRequest,申明用的GET方法请求http
            httpRequest.Timeout = 2000;
            httpRequest.Method = "GET";
            //创建一个httpResponse,存放服务器返回信息
            HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
            //这个地方我也不晓得干了啥,反正都是抄写别人的
            //就理解为读取页面吧
            StreamReader sr = new StreamReader(httpResponse.GetResponseStream(), System.Text.Encoding.UTF8);
            //页面读完了,result接收结果
            string result = sr.ReadToEnd();
            //一个新字符串,其中当前实例中出现的所有指定字符串都替换为另一个指定的字符串 Replace(string oldValue,string newValue)
            result = result.Replace("\r", "").Replace("\n", "").Replace("\t", "");
            //请求状态的反馈
            int status = (int)httpResponse.StatusCode;
            sr.Close();

            Console.WriteLine(result);
            Console.ReadKey();
}
GET

然后POST方法

 static void Main(string[] args)
{
    //POST方法
            //实例化一个编码方法
            UTF8Encoding encoding = new UTF8Encoding();
            //传入参数
            string postData = "catagoryid=2";
            //将参数编码为UTF8的格式
            byte[] data = encoding.GetBytes(postData);

            HttpWebRequest myRequest =(HttpWebRequest)WebRequest.Create("http://localhost:5534/Home/SceneList");
            myRequest.Method = "POST";
            myRequest.ContentType = "application/x-www-form-urlencoded";
            myRequest.ContentLength = data.Length;
            Stream newStream = myRequest.GetRequestStream();
            newStream.Write(data, 0, data.Length);
            newStream.Close();
            HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
            StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
            string result = reader.ReadToEnd();
            result = result.Replace("\r", "").Replace("\n", "").Replace("\t", "");
            int status = (int)myResponse.StatusCode;
            reader.Close();

            Console.WriteLine(result);
            Console.ReadKey();
}
POST

 

其实POST和GET很像,就是传参数的方式不同,GET方法是在url后面传入参数 http://localhost:5534/Home/SceneList?catagoryid=2

而POST方法,先申明参数,然后转码,之后在写入的时候带上参数 newStream.Write(data, 0, data.Length);

这样也解决了目前的问题,再次感谢博主小伟地方提供的博客。

 

注:此篇随笔只供参考使用,而且也有很多小瑕疵,最主要的不是代码,逻辑才是最重要的。

转载于:https://www.cnblogs.com/Joker37/p/7246635.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值