/// <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. [置顶] a+=1/a=+1/a-=1区别-c语言

    1.解释 a+=1/a=+1/a-=1 含义 a+=1 实质等于 a += 1,也就是等于 a = a + 1: a=+1 实质等于 a = +1:[因为运算符中没有=+,很多人误以为是 a =+ 1 ...

  2. 用ConfigurationManager读取和修改配置文件

    为了方便有时我们会把一些简单的配置的信息放入web.config文件里. 放到appSettings添加key   value等信息. ConfigurationManager.AppSettings ...

  3. java的BigDecimal

    java的BigDecimal 一般设计到高精度的加法或乘法或者阶乘的求和积都会用到BigDecimal这个类. import java.util.*;import java.math.BigDeci ...

  4. IOS Note - View Controller(视图控制器)

    Application Delegate(应用程序委托) Application Name: SingleView SingleViewAppDelegate.h #import <UIKit/ ...

  5. Codeforces Round #330 (Div. 1) A. Warrior and Archer 贪心 数学

    A. Warrior and Archer Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/594 ...

  6. Linux设备模型分析之kset(基于3.10.1内核)

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 内核版本:3.10.1   一.kset结构定义 kset结构体定义在include/linux/kobject.h ...

  7. C++ ADO 数据查询

    ADO 数据查询 关键点 上1条 下1条 第1条 最后1条 实现过程 // stdafx.h : include file for standard system include files, #im ...

  8. 判断IE中iframe完美加载完毕的方法

    转: var iframe = document.createElement("iframe"); iframe.src = "http://www.planabc.ne ...

  9. Java多线程之wait(),notify(),notifyAll()

    在多线程的情况下,因为同一进程的多个线程共享同一片存储空间,在带来方便的同一时候,也带来了訪问冲突这个严重的问题.Java语言提供了专门机制以解决这样的冲突,有效避免了同一个数据对象被多个线程同一时候 ...

  10. LINUX C++ 技术博客

    http://blog.csdn.net/pcliuguangtao/article/category/676422