/// <summary>
/// get 数据的时候可以采用此函数大部分功能
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
public string Starr_AuthoredGET(String[] args, CookieCollection UserCookie)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[] + args[]);//将host和参数直接拼接
request.Method = "GET";
request.ContentType = args[];
request.Accept = "*/*";
request.CookieContainer = new CookieContainer(); request.CookieContainer.Add(UserCookie);//设置req的cookie HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd(); //UserCookie = response.Cookies;//设置最新的cookie
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
} /// <summary>
/// POST 数据的时候可以采用此函数大部分功能
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
public string Starr_AuthoredPOST(String[] args, CookieCollection UserCookie)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[]);
request.Method = "POST";
request.ContentType = args[];
request.Accept = "*/*";
request.CookieContainer = new CookieContainer(); request.CookieContainer.Add(UserCookie);//设置req的cookie
byte[] byteArray = Encoding.UTF8.GetBytes(args[]);//输出流
request.ContentLength = byteArray.Length;
Stream outStream = request.GetRequestStream();
outStream.Write(byteArray, , byteArray.Length);
outStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd(); //UserCookie = response.Cookies;//设置最新的cookie
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
} /// <summary>
/// DELETE数据的时候可以采用此函数大部分功能
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
public string Starr_AuthoredDelete(String[] args, CookieCollection UserCookie)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[]);//将host和参数直接拼接
request.Method = "DELETE";
request.ContentType = args[];
request.Accept = "*/*";
request.CookieContainer = new CookieContainer(); request.CookieContainer.Add(UserCookie);//设置req的cookie HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd(); //UserCookie = response.Cookies;//设置最新的cookie
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
}
        public CookieCollection UserCookie = new CookieCollection();

        /// <summary>
/// post 登录,将cookie保存到UserCookie,后续动作都要用到
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
public string Starr_login(out CookieCollection UserCookie)
{
String[] args = { "http://dicc2.ins24.com/ah/session", "{\"username\":\"" +Starr_username+ "\",\"password\":\"" + Starr_password + "\"}", "application/json" };
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[]);
request.Method = "POST";
request.ContentType = args[];
request.Accept = "*/*";
request.CookieContainer = new CookieContainer();
byte[] byteArray = Encoding.UTF8.GetBytes(args[]);//输出流
request.ContentLength = byteArray.Length;
Stream outStream = request.GetRequestStream();
outStream.Write(byteArray, , byteArray.Length);
outStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd(); UserCookie = response.Cookies;//设置req的cookie reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
}

方法调用如下:

public static Code.InsuranceModel.InsuranceSegment_Result Starr_GetApplayTeamRequestBook(InsuranceModel.InsuranceSegment_Policy Policy_model, List<Code.InsuranceModel.InsuranceSegment_Insured> Insured_Listmodel)
{
Code.Login Starr_model = new Code.Login();
Code.InsuranceModel.InsuranceSegment_Result result = new InsuranceModel.InsuranceSegment_Result();
try
{
string RequestJson = Code.InsuranceJson.Starr_RequestApplayTeamBookJson(Policy_model, Insured_Listmodel);
string[] RequestArr = { "http://dicc2.ins24.com/ah/policies", RequestJson.ToString(), "application/json" };
//判断接口请求是否成功
result = Code.InsuranceDecodeJson.Starr_GetLoginDecodeJson();
if (result.Success == true)
{
//请求投保
string RequestBookJson = Starr_model.Starr_AuthoredPOST(RequestArr, result.UserCookie);
//解析投保返回的json语句
Code.InsuranceModel.InsuranceSegment_PolicyBookMessage db_model = Code.InsuranceDecodeJson.Starr_GetApplayTeamBookDecodeJson(RequestBookJson,Policy_model.externalno);
if (db_model != null)
{
if (db_model.status.Trim().Equals("SUCCESS"))
{
InsuranceCode.InsertInsuranceSegment_PolicyBookMessage(db_model);
InsuranceCode.UpdateInsuranceSegment_Policy(db_model.downloadurl, db_model.npremium, db_model.policyno, db_model.policyid, db_model.status, db_model.service, db_model.successdate); result.Success =true;
result.Message ="团保投保成功!";
}
else
{ }
}
}
else
{ }
return result;
}
catch (Exception ex)
{
result.Success = false;
result.Message = ex.Message;
return result;
}
}

参数请求post, get , delete中的基本使用(1)的更多相关文章

  1. python中requests库get方法带参数请求

    起因是想爬五等分的花嫁的漫画.这是其中的一个坑 先上代码 data={ 'cid':567464, , 'key':'', 'language':1, 'gtk':6, '_cid':567464, ...

  2. WebApi接口传参不再困惑(4):传参详解 一、get请求 二、post请求 三、put请求 四、delete请求 五、总结

    前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方式方法,算是一个笔记,也希望能帮初学者少走弯路.本 ...

  3. 将应用程序中的一些参数写到xml配置文件中

    最近碰到一个问题,需要将程序中的一些基本参数写到xml文件中,虽然网上有好多现成的代码,但是觉得对xml不熟悉,果断就研究了一下.先说一下大体思路吧,我设计了一个用来读取和回填的类,然后定义了一个接口 ...

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

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

  5. 无法用Put方式请求发布在IIS中的WebAPI

    WebApi程序发布到IIS上后,无法使用Put的方式进行请求,错误信息如下:             原因和解决方案:   在IIS中默认不支持Put请求和Delete请求,因为IIS中注册的Web ...

  6. SpringCloud系列十三:Feign对继承、压缩、日志的支持以及构造多参数请求

    1. 回顾 上文讲解了手动创建Feign,比默认的使用更加灵活. 本文将讲解Feign对继承.压缩的支持以及日志和多参数请求的构造等. 2. Feign对继承的支持 Feign支持继承.使用继承,可将 ...

  7. Postman中添加真实请求(Chrome Networks中的全部请求,含https)copy as har

    Postman中添加真实请求(Chrome Networks中的全部请求,含https) xyxzfj 关注 2018.05.22 19:44* 字数 559 阅读 1176评论 0喜欢 0 Post ...

  8. springMVC带参数请求重定向

    SpirngMVC返回逻辑视图名 可以分下面几种情况: 1. servlet进行请求转发,返回到jsp页面,如  return "index.jsp" ; 2. servlet 返 ...

  9. System.ArgumentException: 回发或回调参数无效。在配置中使用 < pages enableEventValidation="true"/>

    转载自http://blog.csdn.net/dongge825/article/details/7868151 关于在同一个页面中使用Gridview控件的时候发现气updaeting事件无法被服 ...

  10. get、post请求方式在jmeter中使用步骤

    jmeter:性能测试工具,压测 一.jmeter工具测试接口时使用步骤: 1.测试计划右键--添加--Threads(Users)--线程组(线程数就是并发数) 2.线程组右键--Sampler-- ...

随机推荐

  1. 使用Jena RDF API 开发脚本语言管理资源描述框架模型

    摘要 资源描述框架(Resource Description Framework RDF)是一种以XML格式描述元数据的标准格式.Jena是一种用于将关系数据库或是文本文件中所表示的数据建立为元数据模 ...

  2. 一个简单的Socket通信Demo

    服务器端Demo: Server.java(服务器端运行主程序,直接运行): package cn.wjs; import java.net.InetAddress; import java.net. ...

  3. 利用 SQL Monitor 查看语句运行状态步骤

    利用 SQL Monitor 查看语句运行状态步骤 1.确定语句被 SQL Monitor 监控 SQL> SELECT * FROM GV$SQL_MONITOR WHERE sql_id=' ...

  4. HashMap解决hash冲突的方法

    HashMap 采用一种所谓的“Hash 算法”来决定每个元素的存储位置.当程序执行 map.put(String,Obect)方法 时,系统将调用String的 hashCode() 方法得到其 h ...

  5. Delphi调用Dll的的2种写法

         unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, F ...

  6. Oracle非重要文件恢复,redo、暂时文件、索引文件、password文件

    增量备份的应用在recovery阶段.不再restore阶段 了解数据库设置表: SQL>desc database_properties  Name                       ...

  7. 通过ulimit改善linux系统性能(摘自IBM)

    本文介绍了 ulimit 内键指令的主要功能以及用于改善系统性能的 ulimit 用法.通过这篇文章,读者不仅能够了解 ulimit 所起的作用.而且能够学会怎样更好地通过 ulimit 限制资源的使 ...

  8. 分享php中四种webservice实现的简单架构方法及实例(转)

    本人所了解的webservice有以下几种:PHP本身的SOAP,开源的NUSOAP,商业版的PHPRPC,以及使用二进制传输数据流的 HessianPHP,那么一下就简单的介绍下这几种webserv ...

  9. 【v2.x OGE教程 19】 引擎状态控制

    1.手机button监听 OGE中提供了在BaseGameLauncher(GameLauncher的父类)和IScene(Scene实现的接口)中定义了onKeyUp和onKeyDown的方法.使得 ...

  10. win7引导项顺序

    转载:http://jingyan.baidu.com/article/72ee561aa1d123e16138df81.html 问题描述: 个人在宿舍使用的比较多的是Window 7,而它的启动项 ...