当前位置: 首页 > news >正文

C# 发HTTP请求

记录一下,调试使用


protected void btnSend_Click(object sender, EventArgs e)
        {

            string url = "http://localhost:3547/waplocation.aspx";
            string mobileNo = this.txtMobileNo.Text;

            StringBuilder reqStr = new StringBuilder(100);
            reqStr.Append("reqtype=" + txtReqType.Text + "&mobile=" + mobileNo);
            //reqStr.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
            //reqStr.Append("<request>");
            //reqStr.Append("<head><reqtype>" +txtReqType.Text +"</reqtype></head>");
            //reqStr.Append("<body>");
            //reqStr.Append("<mobiles>");
            //reqStr.Append("<mobile>" + mobileNo +"</mobile>");
            //reqStr.Append("</mobiles>");
            //reqStr.Append("</body>");
            //reqStr.Append("</request>");

            string postData = reqStr.ToString();

            ASCIIEncoding encoding = new ASCIIEncoding();
            byte[] data = encoding.GetBytes(postData);
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
            
            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.Default);
            string content = reader.ReadToEnd();
            txtResult.Text = content;
        }





如果公司设置了代理,可以这样:


 

try
            {
                string postData = "";


                ASCIIEncoding encoding = new ASCIIEncoding();
                byte[] data = encoding.GetBytes(postData);
                WebProxy wp = new WebProxy("proxy Address");
                wp.Credentials = new System.Net.NetworkCredential("username", "password","domain");




                HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
                myRequest.Proxy = wp; 
                
                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.Default);
                string content = reader.ReadToEnd();
                return content;
            }
            
            catch(Exception ex){
                return string.Empty;
            }

使用HTTP CLIENT的方式


public string Get(string url)
        {
            try
            {
                using (var httpClient = new HttpClient())
                {
                    var response = httpClient.GetStringAsync(new Uri(url)).Result;
                    return response;
                }
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }

        public string Post<T>(string url, T obj)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var content = new StringContent(JsonConvert.SerializeObject(obj));
                    content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

                    var response = client.PostAsync(url, content).Result;
                    return response.Content.ReadAsStringAsync().Result;
                }
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }


相关文章:

  • 牛年第一喜
  • 谷歌去做C2C的消息不靠谱
  • 反射APP_CODE下的类和方法
  • 0day搜索引擎
  • 飞信聊天窗口外挂
  • HTML5之文件拖拽
  • JS中的反射
  • 经济危机时代,如何管理好自己的财富?
  • HTML5拖拽二 植物大战僵尸V0.1版本
  • C# 中where类型约束
  • oracle函数之:translate
  • json 序列化与反序列化类
  • 关于RenderTarget的注意事项
  • HTTP listener 的封装---HttpListenerEx
  • C#把外部文件拖入PictureBox中
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JavaScript设计模式之工厂模式
  • java正则表式的使用
  • JWT究竟是什么呢?
  • Python十分钟制作属于你自己的个性logo
  • React-生命周期杂记
  • Vue.js 移动端适配之 vw 解决方案
  • 复杂数据处理
  • 聊聊flink的BlobWriter
  • 前端之React实战:创建跨平台的项目架构
  • 让你的分享飞起来——极光推出社会化分享组件
  • 如何编写一个可升级的智能合约
  • 使用 @font-face
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 智能合约开发环境搭建及Hello World合约
  • 交换综合实验一
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #Lua:Lua调用C++生成的DLL库
  • #QT(TCP网络编程-服务端)
  • #微信小程序(布局、渲染层基础知识)
  • $(function(){})与(function($){....})(jQuery)的区别
  • (¥1011)-(一千零一拾一元整)输出
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (39)STM32——FLASH闪存
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (六)Hibernate的二级缓存
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (转)重识new
  • .apk文件,IIS不支持下载解决
  • .java 9 找不到符号_java找不到符号
  • .NET Core引入性能分析引导优化
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET Project Open Day(2011.11.13)
  • .net Stream篇(六)