基于C#的节假日日历接口调用代码实例

更新时间:2023-12-24 14:39:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于C#的节假日日历接口调用代码实例

代码描述:基于C#的节假日日历接口调用代码实例 代码平台:聚合数据

using System;

using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; using Xfrog.Net;

using System.Diagnostics; using System.Web;

//----------------------------------

// 万年历调用示例代码 - 聚合数据

// 在线接口文档:http://www.juhe.cn/docs/177

// 代码中JsonObject类下载地址:http://download.csdn.net/download/gcm3206021155665/7458439

//----------------------------------

namespace ConsoleAPI {

class Program {

static void Main(string[] args) {

string appkey = \; //配置您申请的appkey

//1.获取当天的详细信息

string url1 = \;

var parameters1 = new Dictionary();

parameters1.Add(\, appkey);//你申请的key

parameters1.Add(\ , \); //指定日期,格式为YYYY-MM-DD,如月份和日期小于10,则取个位,如:2012-1-1

string result1 = sendPost(url1, parameters1, \);

JsonObject newObj1 = new JsonObject(result1);

String errorCode1 = newObj1[\].Value;

if (errorCode1 == \) {

Debug.WriteLine(\成功\); Debug.WriteLine(newObj1); } else {

//Debug.WriteLine(\失败\

Debug.WriteLine(newObj1[\].Value+\+newObj1[\].Value); }

//2.获取当月近期假期

string url2 = \;

var parameters2 = new Dictionary();

parameters2.Add(\, appkey);//你申请的key

parameters2.Add(\ , \); //指定月份,格式为YYYY-MM,如月份和日期小于10,则取个位,如:2012-1

string result2 = sendPost(url2, parameters2, \);

JsonObject newObj2 = new JsonObject(result2);

String errorCode2 = newObj2[\].Value;

if (errorCode2 == \) {

Debug.WriteLine(\成功\); Debug.WriteLine(newObj2); } else {

//Debug.WriteLine(\失败\

Debug.WriteLine(newObj2[\].Value+\+newObj2[\].Value); }

//3.获取当年的假期列表

string url3 = \;

var parameters3 = new Dictionary();

parameters3.Add(\, appkey);//你申请的key

parameters3.Add(\ , \); //指定年份,格式为YYYY,如:2015

string result3 = sendPost(url3, parameters3, \);

JsonObject newObj3 = new JsonObject(result3);

String errorCode3 = newObj3[\].Value;

if (errorCode3 == \) {

Debug.WriteLine(\成功\); Debug.WriteLine(newObj3); } else {

//Debug.WriteLine(\失败\

Debug.WriteLine(newObj3[\].Value+\+newObj3[\].Value); }

}

///

/// Http (GET/POST) ///

///

/// /// /// 响应内容

static string sendPost(string url, IDictionary parameters, string method) {

if (method.ToLower() == \) {

HttpWebRequest req = null; HttpWebResponse rsp = null;

System.IO.Stream reqStream = null;

try {

req = (HttpWebRequest)WebRequest.Create(url); req.Method = method; req.KeepAlive = false;

req.ProtocolVersion = HttpVersion.Version10; req.Timeout = 5000;

req.ContentType = \d;charset=utf-8\;

byte[] postData = Encoding.UTF8.GetBytes(BuildQuery(parameters, \));

reqStream = req.GetRequestStream();

reqStream.Write(postData, 0, postData.Length); rsp = (HttpWebResponse)req.GetResponse();

Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);

return GetResponseAsString(rsp, encoding); }

catch (Exception ex) {

return ex.Message; }

finally {

if (reqStream != null) reqStream.Close(); if (rsp != null) rsp.Close(); } } else {

//创建请求

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + \ + BuildQuery(parameters, \));

//GET请求

request.Method = \;

request.ReadWriteTimeout = 5000;

request.ContentType = \;

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding(\));

//返回内容

string retString = myStreamReader.ReadToEnd(); return retString; } }

///

/// 组装普通文本请求参数。 ///

/// /// URL编码后的请求数据

static string BuildQuery(IDictionary parameters, string encode) {

StringBuilder postData = new StringBuilder(); bool hasParam = false;

IEnumerator> dem = parameters.GetEnumerator();

while (dem.MoveNext()) {

string name = dem.Current.Key; string value = dem.Current.Value;

// 忽略参数名或参数值为空的参数

if (!string.IsNullOrEmpty(name))//&& !string.IsNullOrEmpty(value)

{

if (hasParam) {

postData.Append(\); }

postData.Append(name); postData.Append(\); if (encode == \) {

postData.Append(HttpUtility.UrlEncode(value, Encoding.GetEncoding(\))); }

else if (encode == \) {

postData.Append(HttpUtility.UrlEncode(value, Encoding.UTF8));

} else {

postData.Append(value); }

hasParam = true; } }

return postData.ToString(); }

///

/// 把响应流转换为文本。 ///

///

/// /// 响应文本

static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding) {

System.IO.Stream stream = null; StreamReader reader = null; try {

// 以字符流的方式读取HTTP响应

stream = rsp.GetResponseStream();

reader = new StreamReader(stream, encoding); return reader.ReadToEnd(); }

finally {

// 释放资源

if (reader != null) reader.Close(); if (stream != null) stream.Close(); if (rsp != null) rsp.Close(); } } } }

postData.Append(value); }

hasParam = true; } }

return postData.ToString(); }

///

/// 把响应流转换为文本。 ///

///

/// /// 响应文本

static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding) {

System.IO.Stream stream = null; StreamReader reader = null; try {

// 以字符流的方式读取HTTP响应

stream = rsp.GetResponseStream();

reader = new StreamReader(stream, encoding); return reader.ReadToEnd(); }

finally {

// 释放资源

if (reader != null) reader.Close(); if (stream != null) stream.Close(); if (rsp != null) rsp.Close(); } } } }

本文来源:https://www.bwwdw.com/article/r635.html

Top