搜档网
当前位置:搜档网 › 基于C#的周公解梦破解api调用代码实例

基于C#的周公解梦破解api调用代码实例

基于C#的周公解梦破解api调用代码实例
基于C#的周公解梦破解api调用代码实例

基于C#的周公解梦破解api调用代码实例

代码描述:基于C#的周公解梦破解api调用代码实例

代码平台:聚合数据

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using https://www.sodocs.net/doc/724008163.html,;

using System.IO;

using https://www.sodocs.net/doc/724008163.html,;

using System.Diagnostics;

using System.Web;

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

//周公解梦调用示例代码-聚合数据

//在线接口文档:https://www.sodocs.net/doc/724008163.html,/docs/64

//代码中JsonObject类下载地址:https://www.sodocs.net/doc/724008163.html,/download/gcm320602 1155665/7458439

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

namespace ConsoleAPI

{

class Program

{

static void Main(string[]args)

{

string appkey="*******************";//配置您申请的appkey

//1.类型

string url1="https://www.sodocs.net/doc/724008163.html,/dream/category";

var parameters1=new Dictionary();

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

parameters1.Add("fid","");//所属分类,默认全部,0:一级分类

string result1=sendPost(url1,parameters1,"get");

JsonObject newObj1=new JsonObject(result1);

String errorCode1=newObj1["error_code"].Value;

if(errorCode1=="0")

{

Debug.WriteLine("成功");

Debug.WriteLine(newObj1);

}

else

{

//Debug.WriteLine("失败");

Debug.WriteLine(newObj1["error_code"].Value+":"+newObj1 ["reason"].Value);

}

//2.解梦查询

string url2="https://www.sodocs.net/doc/724008163.html,/dream/query";

var parameters2=new Dictionary();

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

parameters2.Add("q","");//梦境关键字,如:黄金需要utf8url encode

parameters2.Add("cid","");//指定分类,默认全部

parameters2.Add("full","");//是否显示详细信息,1:是0:否,默认0

string result2=sendPost(url2,parameters2,"get");

JsonObject newObj2=new JsonObject(result2);

String errorCode2=newObj2["error_code"].Value;

if(errorCode2=="0")

{

Debug.WriteLine("成功");

Debug.WriteLine(newObj2);

}

else

{

//Debug.WriteLine("失败");

Debug.WriteLine(newObj2["error_code"].Value+":"+newObj2 ["reason"].Value);

}

//3.根据ID查询解梦信息

string url3="https://www.sodocs.net/doc/724008163.html,/dream/queryid";

var parameters3=new Dictionary();

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

parameters3.Add("id","");//解梦ID

string result3=sendPost(url3,parameters3,"get");

JsonObject newObj3=new JsonObject(result3);

String errorCode3=newObj3["error_code"].Value;

if(errorCode3=="0")

{

Debug.WriteLine("成功");

Debug.WriteLine(newObj3);

}

else

{

//Debug.WriteLine("失败");

Debug.WriteLine(newObj3["error_code"].Value+":"+newObj3 ["reason"].Value);

}

}

///

///Http(GET/POST)

///

///请求URL

///请求参数

///请求方法

///响应内容

static string sendPost(string url,IDictionaryp arameters,string method)

{

if(method.ToLower()=="post")

{

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="application/x-www-form-urlencoded; charset=utf-8";

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

reqStream=req.GetRequestStream();

reqStream.Write(postData,0,postData.Length);

rsp=(HttpWebResponse)req.GetResponse();

Encoding encoding=Encoding.GetEncoding(rsp.Charact erSet);

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.Crea te(url+"?"+BuildQuery(parameters,"utf8"));

//GET请求

request.Method="GET";

request.ReadWriteTimeout=5000;

request.ContentType="text/html;charset=UTF-8";

HttpWebResponse response=(HttpWebResponse)request.GetR esponse();

Stream myResponseStream=response.GetResponseStream();

StreamReader myStreamReader=new StreamReader(myRespons eStream,Encoding.GetEncoding("utf-8"));

//返回内容

string retString=myStreamReader.ReadToEnd();

return retString;

}

}

///

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

///

///Key-Value形式请求参数字典

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

static string BuildQuery(IDictionaryparameters, string encode)

{

StringBuilder postData=new StringBuilder();

bool hasParam=false;

IEnumerator>dem=parameters.G etEnumerator();

while(dem.MoveNext())

{

string name=dem.Current.Key;

string value=dem.Current.Value;

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

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

{

if(hasParam)

{

postData.Append("&");

}

postData.Append(name);

postData.Append("=");

if(encode=="gb2312")

{

postData.Append(HttpUtility.UrlEncode(value,Enc oding.GetEncoding("gb2312")));

}

else if(encode=="utf8")

{

postData.Append(HttpUtility.UrlEncode(value,Enc oding.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();

}

}

}

}

相关主题