1. public static void PostUrl_Ex(string url, string postData)
  2. {
  3. try
  4. {
  5. //对于提交内容中的中文使用UrlEncode方式编码 发送
  6. //string dataSource = "name=1234&qq=1234421&topicName=%E5%BA%86%E7%86%99%E5%A4%A7%E5%AD%A6MBA";
  7. string dataSource = postData;
  8. //Http协议内容 使用ASCII码字符
  9. byte[] data = Encoding.ASCII.GetBytes(dataSource);
  10.  
  11. //发送信息
  12. //HttpWebRequest req = WebRequest.CreateHttp(url);
  13. HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
  14. req.Method = "post";
  15. req.ContentType = "application/json";
  16.  
  17. //req.Timeout = 5 * 1000;//请求超时时间
  18.  
  19. //Accept - Language:zh - CN,zh; q = 0.8
  20. req.Headers.Add("Accept-Language", "zh - CN,zh; q = 0.8");
  21. req.Credentials = new NetworkCredential("root", "root123");
  22.  
  23. //指定客户端代理的方式
  24. //req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2560.0 Safari/537.36";
  25. //此方式不可用
  26. //req.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2560.0 Safari/537.36");
  27. //添加Post参数
  28. Stream reqStream = req.GetRequestStream();
  29. reqStream.Write(data, , data.Length);
  30. reqStream.Close();
  31.  
  32. //接收相应
  33. HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
  34. Stream respStream = resp.GetResponseStream();
  35. StreamReader reader = new StreamReader(respStream, Encoding.UTF8);
  36. string result = reader.ReadToEnd();
  37. reader.Close();
  38. }
  39. catch (Exception e)
  40. {
  41. //e.Message.ToString()
  42. }
  43. }
  1.  

  1.  

  1. /// <summary>
  2. ///
  3. /// </summary>
  4. /// <param name="url">为请求地址: http://127.0.0.1:8080/wms/broadcast/startAlarmTaskTTS </param>
  5. /// <param name="postData">请求内容 Json格式串</param>
  6. /// <returns></returns>
  7. public static string PostUrl(string url, string postData)
  8. {
  9. string result = "";
  10. while (true)
  11. {
  12. try
  13. {
  14. HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
  15. req.Method = "POST";
  16. req.ContentType = "application/json";
  17. req.Timeout = * ;//请求超时时间
  18. //req.ReadWriteTimeout = 5 * 1000; //访问成功后读写流超时
  19. req.Credentials = new NetworkCredential("root", "root123");
  20. //byte[] data = Encoding.UTF8.GetBytes(postData);
  21. //req.ContentLength = data.Length;
  22. using (var streamWriter = new StreamWriter(req.GetRequestStream()))
  23. {
  24. streamWriter.Write(postData);
  25. streamWriter.Flush();
  26. streamWriter.Close();
  27. }
  28.  
  29. HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
  30. if (resp.StatusCode != HttpStatusCode.OK) //如果服务器未响应,那么继续等待相应
  31. continue;
  32. Stream stream = resp.GetResponseStream();
  33. //获取响应内容
  34. using (StreamReader reader = new StreamReader(stream))
  35. {
  36. result = reader.ReadToEnd();
  37. }
  38. }
  39. catch (Exception e)
  40. {
  41. MessageBox.Show(e.Message.ToString());
  42. }
  43.  
  44. return result;
  45. }
  46. }

本文链接:https://blog.csdn.net/cn_514/article/details/100037524

欢迎加群交流 QQ群 830426796

C# 调用POST请求的更多相关文章

  1. java调用http请求json

    最近遇到的问题,java如何调用http请求json: public class HttpClientUtil { private static final String CONTENT_TYPE_T ...

  2. SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例

     要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...

  3. wpf 错误 执行了 QueryInterface 调用,请求提供 COM 可见的托管类“BoilerMonitoringV1._0.MapControl”的默认 IDispatch 接口。

    在做wpf嵌入地图时,在自定义的WebBrowser 里面使用JavaScript调用外部方法的时报的错误 在原来的WinForm里 我们只要在窗体类设置的头部设置个 [System.Runtime. ...

  4. uni-app如何解决在for循环里调用异步请求获取数据顺序混乱问题?

    总结/朱季谦 先前有一次做uni-app的js接口对接时,遇到过这样的情况,在for循环里,调用一个异步请求时,返回来的值顺序是乱的,因此,在以下的代码里,push到数组里的值,每次的顺序可能都是不一 ...

  5. java调用Http请求 -HttpURLConnection学习

    最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,post与get的不同之处在于post的参数不是放在URL字串里面,而是放 ...

  6. 通过 Spring RestTemplate 调用带请求体的 Delete 方法(Delete With Request Body)

    Spring 框架的RestTemplate 类定义了一些我们在通过 java 代码调用 Rest 服务时经常需要用到的方法,使得我们通过 java 调用 rest 服务时更加方便.简单.但是 Res ...

  7. 使用Java的URL/HttpURLConnection进行远程调用(POST请求)

    利用Java的HttpURLConnection进行远程url请求(调用远程接口) 测试类:请求类型为json,以post方式请求,利用OutputStream写入数据 实体类: public cla ...

  8. FeignClient调用POST请求时查询参数被丢失的情况分析与处理

    前言 本文没有详细介绍 FeignClient 的知识点,网上有很多优秀的文章介绍了 FeignCient 的知识点,在这里本人就不重复了,只是专注在这个问题点上. 查询参数丢失场景 业务描述: 业务 ...

  9. 使用RestTemplate在代码内调用POST请求的参数乱码问题

    背景:在项目A代码内部,调用项目B的restful接口C,我们采用了RestTemplate进行调用,但是调用过程中,一直不能正常返回数据,日志显示参数存在乱码(有个参数的值是中文) 乱码原因:请求方 ...

  10. java后台调用http请求

    1:代码   @Value("${sms.username}")  可以将sms.properties配置文件中的值注入到username //这种方式是将sms.properti ...

随机推荐

  1. 湖南大学第十四届ACM程序设计新生杯(重现赛)G a+b+c+d=? (16进制与LL范围)

    链接:https://ac.nowcoder.com/acm/contest/338/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K6 ...

  2. poj 2955 Brackets (区间dp基础题)

    We give the following inductive definition of a “regular brackets” sequence: the empty sequence is a ...

  3. mybatis初级映射

    一 前言 系统学习知识请认准知识追寻者(同公众号),错过作者,你有可能要走好多弯路 经过第一篇的入门文章,小白们都对mybatis的搭建流程应该都很熟悉,这篇文章主讲的是如何使用mybatis实现数据 ...

  4. 2016/09/29 SQL中的join

    1.建表 首先建tb_a并插入数据. )); insertinto tb_a(symbol, sname) values ('A','B'); insertinto tb_a(symbol, snam ...

  5. MongoDB 快速扫盲贴

    长话短说 经过996的历练,开发者潜意识里总是以object的视角看待事物, 现在某些数据库也具备这样的视角. MongoDB是一个文档型(类JSON 文档)数据库,相比传统的关系型row/colum ...

  6. 使用Git出现以下错误"Git@github.com: Permission denied (publickey). Could not read from remote repository."解决方案

    转载于:https://blog.csdn.net/dotphoenix/article/details/100130424 git@github.com: Permission denied (pu ...

  7. 'OracleInternal.MTS.DTCPSPEManager' 类型初始值设定项引发异常

    环境:VS2010,.NET Framework 4.0,Oracle.ManagedDataAccess    在最近做一个项目中,用到了Oracle数据库,使用Oracle.ManagedData ...

  8. RF之简介

    robot framework 是一个通用型的自动测试框架 - 自动测试用例的实现方式 - 自动测试用例的开发支持 :  IDE.库 - 和用例管理系统的集成 - 测试执行:相关测试套件和测试用例的执 ...

  9. 从微信小程序开发者工具源码看实现原理(三)- - 双线程通信

    文章概览: 引言 小程序开发者工具双线程通信的设计 1.on: 用来收集小程序开发者工具触发的事件回调 2.invoke:以api方式调用开发工具提供的基础能力 3.publish:用来向Appser ...

  10. IT兄弟连 HTML5教程 CSS3属性特效 圆角

    传统的圆角生成方案,必须使用多张图片作为背景图案.CSS3的出现,使得我们再也不必浪费时间去制作这些图片了,只需要border-radius属性,支持浏览器IE 9.Opera 10.5.Safari ...