C# 调用POST请求
- public static void PostUrl_Ex(string url, string postData)
- {
- try
- {
- //对于提交内容中的中文使用UrlEncode方式编码 发送
- //string dataSource = "name=1234&qq=1234421&topicName=%E5%BA%86%E7%86%99%E5%A4%A7%E5%AD%A6MBA";
- string dataSource = postData;
- //Http协议内容 使用ASCII码字符
- byte[] data = Encoding.ASCII.GetBytes(dataSource);
- //发送信息
- //HttpWebRequest req = WebRequest.CreateHttp(url);
- HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
- req.Method = "post";
- req.ContentType = "application/json";
- //req.Timeout = 5 * 1000;//请求超时时间
- //Accept - Language:zh - CN,zh; q = 0.8
- req.Headers.Add("Accept-Language", "zh - CN,zh; q = 0.8");
- req.Credentials = new NetworkCredential("root", "root123");
- //指定客户端代理的方式
- //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";
- //此方式不可用
- //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");
- //添加Post参数
- Stream reqStream = req.GetRequestStream();
- reqStream.Write(data, , data.Length);
- reqStream.Close();
- //接收相应
- HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
- Stream respStream = resp.GetResponseStream();
- StreamReader reader = new StreamReader(respStream, Encoding.UTF8);
- string result = reader.ReadToEnd();
- reader.Close();
- }
- catch (Exception e)
- {
- //e.Message.ToString()
- }
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="url">为请求地址: http://127.0.0.1:8080/wms/broadcast/startAlarmTaskTTS </param>
- /// <param name="postData">请求内容 Json格式串</param>
- /// <returns></returns>
- public static string PostUrl(string url, string postData)
- {
- string result = "";
- while (true)
- {
- try
- {
- HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
- req.Method = "POST";
- req.ContentType = "application/json";
- req.Timeout = * ;//请求超时时间
- //req.ReadWriteTimeout = 5 * 1000; //访问成功后读写流超时
- req.Credentials = new NetworkCredential("root", "root123");
- //byte[] data = Encoding.UTF8.GetBytes(postData);
- //req.ContentLength = data.Length;
- using (var streamWriter = new StreamWriter(req.GetRequestStream()))
- {
- streamWriter.Write(postData);
- streamWriter.Flush();
- streamWriter.Close();
- }
- HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
- if (resp.StatusCode != HttpStatusCode.OK) //如果服务器未响应,那么继续等待相应
- continue;
- Stream stream = resp.GetResponseStream();
- //获取响应内容
- using (StreamReader reader = new StreamReader(stream))
- {
- result = reader.ReadToEnd();
- }
- }
- catch (Exception e)
- {
- MessageBox.Show(e.Message.ToString());
- }
- return result;
- }
- }
欢迎加群交流 QQ群 830426796
C# 调用POST请求的更多相关文章
- java调用http请求json
最近遇到的问题,java如何调用http请求json: public class HttpClientUtil { private static final String CONTENT_TYPE_T ...
- SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例
要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...
- wpf 错误 执行了 QueryInterface 调用,请求提供 COM 可见的托管类“BoilerMonitoringV1._0.MapControl”的默认 IDispatch 接口。
在做wpf嵌入地图时,在自定义的WebBrowser 里面使用JavaScript调用外部方法的时报的错误 在原来的WinForm里 我们只要在窗体类设置的头部设置个 [System.Runtime. ...
- uni-app如何解决在for循环里调用异步请求获取数据顺序混乱问题?
总结/朱季谦 先前有一次做uni-app的js接口对接时,遇到过这样的情况,在for循环里,调用一个异步请求时,返回来的值顺序是乱的,因此,在以下的代码里,push到数组里的值,每次的顺序可能都是不一 ...
- java调用Http请求 -HttpURLConnection学习
最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,post与get的不同之处在于post的参数不是放在URL字串里面,而是放 ...
- 通过 Spring RestTemplate 调用带请求体的 Delete 方法(Delete With Request Body)
Spring 框架的RestTemplate 类定义了一些我们在通过 java 代码调用 Rest 服务时经常需要用到的方法,使得我们通过 java 调用 rest 服务时更加方便.简单.但是 Res ...
- 使用Java的URL/HttpURLConnection进行远程调用(POST请求)
利用Java的HttpURLConnection进行远程url请求(调用远程接口) 测试类:请求类型为json,以post方式请求,利用OutputStream写入数据 实体类: public cla ...
- FeignClient调用POST请求时查询参数被丢失的情况分析与处理
前言 本文没有详细介绍 FeignClient 的知识点,网上有很多优秀的文章介绍了 FeignCient 的知识点,在这里本人就不重复了,只是专注在这个问题点上. 查询参数丢失场景 业务描述: 业务 ...
- 使用RestTemplate在代码内调用POST请求的参数乱码问题
背景:在项目A代码内部,调用项目B的restful接口C,我们采用了RestTemplate进行调用,但是调用过程中,一直不能正常返回数据,日志显示参数存在乱码(有个参数的值是中文) 乱码原因:请求方 ...
- java后台调用http请求
1:代码 @Value("${sms.username}") 可以将sms.properties配置文件中的值注入到username //这种方式是将sms.properti ...
随机推荐
- 湖南大学第十四届ACM程序设计新生杯(重现赛)G a+b+c+d=? (16进制与LL范围)
链接:https://ac.nowcoder.com/acm/contest/338/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K6 ...
- poj 2955 Brackets (区间dp基础题)
We give the following inductive definition of a “regular brackets” sequence: the empty sequence is a ...
- mybatis初级映射
一 前言 系统学习知识请认准知识追寻者(同公众号),错过作者,你有可能要走好多弯路 经过第一篇的入门文章,小白们都对mybatis的搭建流程应该都很熟悉,这篇文章主讲的是如何使用mybatis实现数据 ...
- 2016/09/29 SQL中的join
1.建表 首先建tb_a并插入数据. )); insertinto tb_a(symbol, sname) values ('A','B'); insertinto tb_a(symbol, snam ...
- MongoDB 快速扫盲贴
长话短说 经过996的历练,开发者潜意识里总是以object的视角看待事物, 现在某些数据库也具备这样的视角. MongoDB是一个文档型(类JSON 文档)数据库,相比传统的关系型row/colum ...
- 使用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 ...
- 'OracleInternal.MTS.DTCPSPEManager' 类型初始值设定项引发异常
环境:VS2010,.NET Framework 4.0,Oracle.ManagedDataAccess 在最近做一个项目中,用到了Oracle数据库,使用Oracle.ManagedData ...
- RF之简介
robot framework 是一个通用型的自动测试框架 - 自动测试用例的实现方式 - 自动测试用例的开发支持 : IDE.库 - 和用例管理系统的集成 - 测试执行:相关测试套件和测试用例的执 ...
- 从微信小程序开发者工具源码看实现原理(三)- - 双线程通信
文章概览: 引言 小程序开发者工具双线程通信的设计 1.on: 用来收集小程序开发者工具触发的事件回调 2.invoke:以api方式调用开发工具提供的基础能力 3.publish:用来向Appser ...
- IT兄弟连 HTML5教程 CSS3属性特效 圆角
传统的圆角生成方案,必须使用多张图片作为背景图案.CSS3的出现,使得我们再也不必浪费时间去制作这些图片了,只需要border-radius属性,支持浏览器IE 9.Opera 10.5.Safari ...