/// <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. Jquery EasyUi实战教程布局篇

    转自:http://www.kwstu.com/ArticleView/kwstu_20139413501290 送给大家一个非常好的后台布局模板,本人后来就选择了这个模板http://www.kws ...

  2. Bootstrap排版

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta na ...

  3. 【SQL】SQL2012 导入导出报错,未在计算机上注册...

    导出时报错: 如图: 解决方法:下载插件: 下载地址:http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463 ...

  4. [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法

    主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法. 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件. 分别存储位置 ...

  5. Android 监听短信(同时监听广播和数据库)

    暗扣,强烈谴责这种侵害用户利益的行为... 下面给大家介绍Android暗扣原理.......  Android4.4以下的系统玩游戏就要小心了哈 暗扣方式之一:短信订购,即监听--------拦截- ...

  6. Android学习笔记(3)

    今天我试着往应用里添加广告,结果adView一操作就闪退,换了很多种方法都不行. 最后解决过程有点坑爹,原来是还没setcontentview就开始adview了,哈哈 虽然我现在菜得不行,还没入门. ...

  7. 解决Android上的QPython不能import urllib的问题

    试用了一下QPython,感觉很强大,Kivy也包含进去了,下载一些第三方库也很方便,相对于SL4A来说确实先进了很多. 但是很快发现不能import urllib,提示大概是这样的内容: No mo ...

  8. Codeforces Round #185 (Div. 2) B. Archer 水题

    B. Archer Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/312/problem/B D ...

  9. BZOJ 2588: Spoj 10628. Count on a tree 树上跑主席树

    2588: Spoj 10628. Count on a tree Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/J ...

  10. Nhibernate中 Many-To-One 中lazy="proxy" 延迟不起作用的原因

    2010-07-15 12:10 by 彭白洋, 322 阅读, 0 评论, 收藏, 编辑 NHibernate中 Many-To-One 中lazy="proxy" 延迟不起作用 ...