在做CS调用第三方接口的时候遇到了这样的一个问题,通过PSOTman调试需要分别在parmas、Headers、Body里面同时传递参数。在网上查询了很多资料,以此来记录一下开发脱坑历程。

POSTman调试界面:params参数

POSTman调试界面:Headers参数

POSTman调试界面:Body参数

在postman调试里面可以这么传递参数,那么在后台调用的时候我们改如何写呢。

经过查阅资料得知。params参数可以直接跟在请求的URL地址后面,Headers参数通过request.Headers.Add()方法添加,Body里面需要传递的格式为JSON直接通过JsonConvert.SerializeObject()将对象序列化,将request.ContentType = "application/json",特别注意的是ContentType不能通过request.Headers.Add()方法添加。

  1. public static string getReportsContent(string param, string url, string RandomCode, string Authorization)
  2. {
  3. byte[] bytes = null;
  4. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  5. //获取请求的方式
  6.  
  7. request.Method = "post";
  8. request.ContentType = "application/json";
  9. request.Headers.Add("RandomCode", RandomCode);
  10. request.Headers.Add("Authorization", Authorization);
  11. bytes = Encoding.UTF8.GetBytes(param);
  12. request.ContentLength = bytes.Length;
  13. Stream strStream = request.GetRequestStream();
  14. strStream.Write(bytes, , bytes.Length);
  15. strStream.Close();
  16. //获取设置身份认证及请求超时时间
  17. SetWebRequest(request);
  18. //就收应答
  19. HttpWebResponse httpResponse = (HttpWebResponse)request.GetResponse();
  20. Stream strStream1 = null;
  21. strStream1 = httpResponse.GetResponseStream();
  22. string responseContent = new StreamReader(strStream1, Encoding.UTF8).ReadToEnd();
  23. return responseContent;
  24. }
  1.  
  1. 获取设置身份认证及请求超时时间
  1. private static void SetWebRequest(HttpWebRequest request)
  2. {
  3. request.Credentials = CredentialCache.DefaultCredentials;
  4. request.Timeout = ;
  5.  
  6. }

C# HttpWebRequest传递参数多种方式混合使用的更多相关文章

  1. 【Spring】Spring之依赖注入(DI)传递参数的方式

    DI依赖注入传入参数的方式,这里介绍了基本数据类型,集合,符合数据类型的传递(String类型比较特殊,其传递值和基本数据类型的方法一致) 注入基本数据类型和String类型 通过setter方法注入 ...

  2. angular中控制器之间传递参数的方式

    在angular中,每个controller(控制器)都会有自己的$scope,通过为这个对象添加属性赋值,就可以将数据传递给模板进行渲染,每个$scope只会在自己控制器内起作用,而有时候需要用到其 ...

  3. js函数传递参数的方式------传值与传递指针

    原则: 1. 基本类型:传值 2. 对象:传递指针 应用场景之一: 用jq选择器获取某个div后(例如:element),准备进行某些修改,之后添加到页面中去. 采取例一的方式,append后发现修改 ...

  4. python下多线程的限制以及多进程中传递参数的方式

    python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程序一个意思,大家都是轮着用的,这叫“并发”,不是 ...

  5. Delphi过程函数传递参数的八种方式

    今天一同事问我为什么有些过程函数里面有Var而有些没有,不解,遂到网上百度,得解.快哉,快哉. 在Delphi过程.函数中传递参数几个修饰符为Const.Var.Out.另一种不加修饰符的为默认按值传 ...

  6. Delphi过程函数传递参数的几种方式

    Delphi过程函数传递参数的几种方式  在Delphi过程.函数中传递参数几个修饰符为Const.Var.Out. 另一种不加修饰符的为默认按值传递参数. 一.默认方式以值方式传递参数 proced ...

  7. 复用$.ajax方式传递参数错误处理

    1.封装后的方法,在 data:inData 传递参数的方式和一般不一样,如果不注意会出现错误. function getDataByJsonP(methName, inData, fn) { $.a ...

  8. delphi的一些语法知识 以及参数传递问题,按引用方式传递参数,按值方式传递参数

    //delphi中exit,abort,break,continue 的区别 exit: 退出函数体abort: 遇到异常,安静处理,就是不显示不提示break: 退出当前循环体,包括for ,whi ...

  9. JSP重定向传递参数

    我一个JSP程序,要实现前台提交数据给后台处理后,后台jsp自动跳转到另一个jsp页面,这种方式也叫重定向,重定向的方法有多种,暂时我试过的并且能成功的有两个: 一种是用 response.sendR ...

随机推荐

  1. HDU 6623"Minimal Power of Prime"(数学)

    传送门 •题意 给你一个大于 1 的正整数 n: 它可以分解成不同的质因子的幂的乘积的形式,问这些质因子的幂中,最小的幂是多少. •题解 定义 $ans$ 表示最终答案: ①如果 $ans \ge 5 ...

  2. 2018-8-10-C#-代码占用的空间

    title author date CreateTime categories C# 代码占用的空间 lindexi 2018-08-10 19:16:52 +0800 2018-2-13 17:23 ...

  3. ThinkPHP 模版中的内置标签

    内置标签就是模版引擎提供的一组可以完成控制.循环和判断功能的类似HTML语法的标签.   一.判断比较:   1.if标签进行条件判断 //if语句的完整格式 <if condition=&qu ...

  4. Spring Data -Specification用法和常用查询方法(in,join,equal等)

    Spring Data -Specification用法和常用查询方法(in,join,equal等) 前言 入门例子 Repository层常用写法 Specification 的用法 总结 前言 ...

  5. jquery ajax请求步骤

    $.ajax({ type: "GET", url: "/alink-hq/checkCode", data: { "mobile": ph ...

  6. H3C配置设备的FTP服务

  7. JavaSE基础知识---常用对象API之String类

    一.String类 Java中用String类对字符串进行了对象的封装,这样的好处在于对象封装后可以定义N多属性和行为,就可以对字符串这种常见的数据进行方便的操作. 格式:(1)String s1 = ...

  8. HDU 6662 Acesrc and Travel (换根dp)

    Problem Description Acesrc is a famous tourist at Nanjing University second to none. During this sum ...

  9. Crazy Binary String<Map法>

    #include<cstdio> #include<iostream> #include<map> using namespace std; map<int, ...

  10. 2018-8-14-resharper-自定义代码片

    title author date CreateTime categories resharper 自定义代码片 lindexi 2018-08-14 17:34:51 +0800 2018-2-13 ...