怎么看eve的api有工具吗

OF工具扫盲计划之II&-&OF必备--EVE&Mon
写在前面:万众瞩目的工具介绍第二弹来咯,EVE
Mon的各种功能全仔细介绍了,一开始我就知道不容易,要写的东西很多。但是仍然把它放在第一个可以实用的工具来介绍,就是因为这个软件几乎人人都需要。恩,废话就这么多,让我们开始吧。
由于字数限制21楼追加两条无关痛痒的内容,看样子下次得先占5层楼才够用,我是不是超啰嗦了?=_=|||
一、什么是EVE Mon?
Mon是一个侧重于技能计划的EVE软件,让你定制技能训练计划,优化你的技能训练,并且计算优化你的属性点。
二、EVE Mon能干什么?
如上所说EVE
Mon能够帮助你定制技能训练计划和计算优化属性点,附带的功能还可以查询物品,技能,船以及配船信息,而且这些查询功能都是为围绕着你的技能训练而设置的。你可以方便的把你查询的物品,船甚至配好的船型所需的最低技能导入到你的计划当中。附带的
另外还可以给你提醒,你再也不需要成天开着EVE等着换技能或为了忘记换技能觉得浪费了自己的月卡而懊恼了。小巧的程序体积,以及可以最小化到系统托盘的特性,可以让你收到提醒而不耽误你干任何事情。和Google日历的联系和运用,还可以让你手机收到短信提醒哦
三、EVE Mon不能干什么?
EVE Mon使用EVE所提供的API,基于EVE
API的特性,你只能读取,制定计划。所以请不要问我EVE
Mon能不能帮你换技能了,答案是肯定不行。
四、从哪里下载EVE Mon
你可以到这个地址在右侧的Downloads下载最新版的EVEMon,只需要下载第一个安装包就好。
然后按照一般安装程序的下一步-&下一步这样就好了,不用考虑任何安装地点问题,你可以安装在任何地方。
而且一次安装你将一劳永逸,现在版本EVEMon会自己检查更新并通知你,如果EVEmon版本更新,你只需要在更新通知你的时候点一下Update就好,程序自己更新,什么都不用管,完全傻瓜式。
五、我安装好了,现在该怎么办呢?
哇,你下好了也装好了?好快的速度啊,好,让我们现在学怎么使用吧。
1.导入你的人物
打开EVEMon,是否感觉对这一片空白的画面无所适从?没关系请跟着我一步一步的将你的人物导入吧。
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="01-01.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_ee183df68c4.jpg" WIDTH="425"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(58.57 KB)
单击File菜单,选择Add Character。
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="01-02.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_154ee758.jpg" WIDTH="207"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(52.56 KB)
你会看到如下图的一个窗口。
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="01-03.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_154b0e152f961be3823.jpg" WIDTH="460"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(108.78 KB)
把你的User ID和限制访问的API
Key输入进去(虽然全访问的也能运作,很浪费不是吗?),然后点击Character后面的...按钮,你将看到你帐户里的人物,选择你所需要的人物,然后点OK,恭喜你,你的人物信息成功导入了,是不是超简单?如果你已经导入了你帐号里的一个人物,还想导入同帐号下的其他人物,不用再输入一遍API,直接点击Add
Existing Unmonitord Charracters选择便好了。
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="01-04.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_154e424fe5b51409c34.jpg" WIDTH="272"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(39.24 KB)
当然,EVEMon不但支持同帐号多人物,多个帐号也完全没问题哦,只不过其他帐号要继续输入该帐号的API。
当你全部人物输入完了,的界面大概如下图(至于人物照片...只是为了增加喜剧效果...不要问我右下角哪里来的墨镜和左上角怎么是泡泡眼。)
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="01-05.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_a21c795d.jpg" WIDTH="600"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(138.44 KB)
对于API的介绍,在此我就不再赘述了,抱有疑问者请看
2.让我们开始定制计划吧
点击你的一个人物,或则在上面标签选中也可以,我们看到什么了?Wow,中间的一大块看起来好熟悉,是的你所有技能都已经读入了。该界面其他地方的说明如下图。
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="02-01.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_154ecf920a.jpg" WIDTH="600"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(302.72 KB)
顺便一提,如果你的技能点超过克隆等级了,SP统计那里会出现黄色叹号提醒哦。
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="02-02.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_f.jpg" WIDTH="313"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(35.54 KB)
现在我们开始制定一个计划,选择菜单中的Plans-&New
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="02-03.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_226c1b43351afbdbe61.jpg" WIDTH="166"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(21.76 KB)
输入一个计划名字,什么名字都可以,为了自己看得方便中文也成,但是注意将来打算用EVE
HQ的话,那个程序是不支持中文的,导入后会出错。
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="02-04.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_f2f7d0367e.jpg" WIDTH="308"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
名字输入好后回车,技能计划窗口就打开了。下面将逐一介绍一下各部分的功能
首先是顶部
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="02-05.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_deacec885.jpg" WIDTH="600"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(38.23 KB)
(1)选择计划,方便在不同计划中切换并且方便选择新计划
(2)导出,方便导出到Google日历中。
(3)删除该计划,大家都看得出来哈
(4)打印,我就不多说了
(5)拷贝到剪切板
(6)自定义头插和技能点,方便在某些情况下计算技能训练差值
(7)优化属性,可以帮你计划怎么洗点才是最高效的哦
(8)从EFT导入数据,不用EFT的人,期待别人补充
(9) 标签,技能计划列表
(10)标签,技能浏览器
(11)标签,证书管理器
(12)标签,船体浏览器
(13)标签,物品浏览器
先不要管技能计划列表,因为里面空空如也,让我们先看看其他标签
首先是技能浏览器
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="02-06.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_314e787c166b0093a91.jpg" WIDTH="600"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(249.17 KB)
(1)过滤器,用于过滤(3)的那个技能清单,所有过滤条件分别是:
All 显示所有技能
Hide Level V Skills 隐藏已经练满5级的技能
Known 已知技能-(已经吃了书的)
Level I Ready 满足技能条件可以立刻开始训练的技能
Dont Known 所有没有吃书的技能
Dont Known - Owned
没有吃书但是拥有了的技能(这个“拥有”会在下面解释)
Dont Known - Trainable 没吃书,但是可以立刻训练的
Dont Known - Unowned 没吃书也没拥有的
Dont Known - Untrainable 没吃书也没法立刻训练的
Not Planned 没有加入计划的
Not Planned - Trainable 没有加入计划但是可以立刻训练的
Partally Trained 训练到一半停了的
Planned 已经计划了的
Trainable (All) 全部可以立刻开始训练的
Trainable on trial account 全部可以在试玩帐号训练的
(2)列表顺序,用于排序(3),可选条件为。
No Sorting 不排序
Time to Next Level 按照到下一等级的时间排序
Time to Level V 按照到5级学满的时间排序
Skill rank 按照技能等级排序
(3)技能清单,这个就不用多解释了吧。
(4)显示不公开的技能,这个选项是因为EVE里面有些技能实际存在,但是从来没有出现在市场上,但是Link名称是可以看到的。
(5)书的基础价钱以及到每一级的时间
(6)也不用多说了,书的属性和介绍
(7)显示这个技能学了之后能够满足什么技能的学习条件。
(8)标记已经拥有该技能,如果你买了某本书,并且扔在空间站发霉,如果希望有东西提醒你别重复买,那么选中那个技能并在此技能上打个勾。
(9)在本计划中,计划训练到几级,不过这个下拉框这么偏僻,一般我很少用,但是也是一种把技能添加到计划的方式。
(10)技能浏览器主窗口,显示你学习该技能所需的技能树,绿色表示已经达标,红色表示还没训练到需求,蓝色是目标技能。
现在让我们说说另一种添加技能的办法,其实也很简单右键在左边点你想要的技能,然后如下图Plan
to。。你想训练的等级就好了,如果该技能有某些技能需求,而你没有徐连到条件,程序会自动把需求技能也添加到需求条件的。
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="02-07.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_3141efd46fc7d339142.jpg" WIDTH="357"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(54.96 KB)
证书标签基本和技能浏览器标签相同,大家用的也少,在此就不赘述了。
下面将介绍船体浏览器。
如图所示(我很YY的选了一台TT——|||)
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="02-08.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_9ca660322.jpg" WIDTH="600"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(275.94 KB)
(1)依然是过滤器,不过选择却简单的多了
All Ships 所有船体
Ships I Can Fly 我可以开的船
Ships I Can't Fly 我开不了的船
下面六个是船的种族和势力船的选择。
(2)船体列表,不多说了,都按类型排的。
(3)Battleclinic配船方案浏览器链接(这个放在下面重点介绍)
(4)不用多说了,船的各项参数
(5)船的文字介绍
(6)所需要的技能,技能可以展开,可以逐个查看,可以右键点击然后选择分别加入技能计划,也可以点那个Add All To
Plan一下子把需要技能全部加到计划,恩,左边还有全部需要的时间
下面说说(3)的那个链接,Battleclinic对于很多人来说都不会陌生,毕竟好像EFT最早就提供上传配船方案的功能吧。点开它可以看到如下窗口。
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./images/evechina/attachimg.gif"
ALT="OF工具扫盲计划之II&-&OF必备--EVE&Mon"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
<img ALT="02-09.jpg" src="/blog7style/images/common/sg_trans.gif" real_src ="http&#58;//bbs./attachments/month_cd6a4ec94f.jpg" WIDTH="600"
TITLE="OF工具扫盲计划之II&-&OF必备--EVE&Mon" />
(172.7 KB)
(1)配船信息,包括谁配的,什么时间 ,名字之类的。
(2)到Battleclinic上讨论这个方案,如果觉得英语不错可以去逛逛。
(3)配船方案列表,双击或者选中一个点击(5),都可以显示该船的详细配置
(4)配船具体所有方案,在上面右键点击某部件,可以出现输出到EFT和在物品浏览器里查看该物品的选项。
(5)如(3)所说跟双击某方案时一样的,作用是打开一个方案。
(6)把该配置的所有所需技能加入到计划中,如果你看中了这个配置,你可以这么做哦,但是记住无论是在船体浏览器里,还是在配船方案中,加入计划仅仅是加入该方案中所需技能的最低要求,也就是能开能用的最低标准,如果想某方面增强,程序不是你肚子里的蛔虫(虽然这年头大家肚子都不怎么会生虫了)。
(7)关闭这个窗口,囧RZ,我说明这个做什么。
至于物品过浏览标签,布局和船体差不多,我只说说左上角的过滤器好了,从上往下的顺序,不截图了,重复的东西没意义
第一个筛选器Skill是你的技能能够使用、不能使用或者全部。
第二个是按高中低槽过滤
第三个是按T1,T2,T3的科技等级过滤
第四个是选择白板,有名字的,势力,官员,死亡装备
第五个限制CPU
第六个限制能量
讲到这里,我想你应该已经加了你所需要的技能了吧?什么,听我废话连篇还这么投入,以助于没有加技能去计划??赶快加点进去,我们要介绍技能计划窗口了。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。快递物流查询接口介绍 - _eve - 博客园
posts - 203, comments - 1, trackbacks - 0, articles - 0
快递查询接口API &&&
& &&快递查询接口是指快递查询网对外开放的,开发人员能够通过调用该接口与快递查询网进行交互,并基于该接口开发自己的快递查询应用程序。目前比较常用的接口有快递鸟、快递100、快递网等。
&&& & & 电商网站用户打开“我的订单”时调用此API显示物流信息详情;或者是电商管理后台的物流系统,客服在对账前查询所有运单的签收状态,并追踪问题。
快递查询接口分类
& & & & 物流轨迹查询接口有即时查询和订阅查询两种,即时是请求即返回数据,订阅则是订阅快递单号到接口,有物流轨迹更新则全量返回数据。
& & & & 快递鸟即时接口可以查询3000次,3000以上接订阅接口,统一接口模式接入,常用快递均支持查询,还有订阅接口、在线下单接口、电子面单接口,接口均不收取费用, & & & &没有要求用户添加外链,支持418家国内外快递物流查询。
& & & & 快递100每天可以免费查询2000次,超过2000次收费,每次0.06~0.1元不等,如果查询的量大的话可以降低费用,免费的接口有几家常用快递不支持接口模式,只支持 & htmlAPI,要求用户添加外链,支持300多家国内外快递物流查询。
& & & & 快递网每天可以免费查询500次,超过500次收费,每次0.05元,只有即时查询和订阅推送接口,要求用户添加外链,支持395家国内外快递物流查询。
& & & & &不同公司的快递查询接口接入类似,都需要注册&,申请账号获取KEY和ID,如果是订阅接口需要技术联调。以快递鸟及时查询接口接入为例。
& & & 根据快递单号和快递公司编码查询物流轨迹信息。接口需要指定快递单号的快递公司编码,格式不对或则编码错误都会返失败的信息。如:EMS物流单号应选择快递公司编码(EMS)返回的物流跟踪信息按照发生的时间升序排列。
& & & & 接口支持的消息接收方式为HTTP POST
& & & & 请求方法的编码格式(utf-8):"application/x-www-form-charset=utf-8"
& & & & API地址:http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx
请求系统级参数
参数名称类型说明必须要求
RequestData
请求内容需进行URL(utf-8)编码。请求内容JSON或XML格式,须和DataType一致。
EBusinessID
商户ID,请在页面查看。
RequestType
请求指令类型:1002
数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后进行URL(utf-8)编码。详细过程请查看Demo。
请求、返回数据类型:1-xml,2-json;默认为xml格式
请求内容字段定义
参数类型说明必须要求
ShipperCode
快递公司编码
LogisticCode
返回参数定义
参数名称类型说明必须要求
EBusinessID
ShipperCode
快递公司编码
LogisticCode
物流运单号
物流状态:2-在途中,3-签收,4-问题件
AcceptTime
AcceptStation
import&java.io.BufferedR&&
import&java.io.IOE&&
import&java.io.InputStreamR&&
java.io.OutputStreamW&&
java.io.UnsupportedEncodingExcept&&
java.net.HttpURLC&&
import&java.net.URL;&&
import&java.net.URLE&&
java.security.MessageD&&
import&java.util.HashM&&
import&java.util.M&&&
public&class&KdniaoTrackQueryAPI&&&
&&&&public&static&void&main&&
(String[]&args)&{&&
&&&&&&&&&&
KdniaoTrackQueryAPI&api&=&new&&&
KdniaoTrackQueryAPI();&&
&&&&&&&&try&{&&
&&&&&&&&&&&&String&&&
result&=&&&
api.getOrderTracesByJson("ANE",&&&
&&&&&&&&&&&&&&
System.out.print(result);&&
&&&&&&&&&&&&&&
&&&&&&&&}&catch&&&
(Exception&e)&{&&
&&&&&&&&&&&&&&
e.printStackTrace();&&
&&&&&&&&}&&
&&&&private&String&&&
EBusinessID="请到快递鸟官网申请&&
y.aspx";&&
供,注意保管,不要泄漏&&
&&&&private&String&AppKey="请&&
到快递鸟官网申请&&
y.aspx";&&
&&&&private&String&&&
ReqURL="http:
iness/EbusinessOrderHandle.aspx";&&&&&
&&&&public&String&&&
getOrderTracesByJson(String&&&
expCode,&String&expNo)&throws&&&
Exception{&&
&&&&&&&&String&&&
requestData=&&&
"{'OrderCode':'','ShipperCode':'"&&&
+&expCode&+&"','LogisticCode':'"&&&
+&expNo&+&"'}";&&
&&&&&&&&&&
&&&&&&&&Map&String,&&&
String&&params&=&new&&&
HashMap&String,&String&();&&
&&&&&&&&params.put&&
("RequestData",&urlEncoder&&
(requestData,&"UTF-8"));&&
&&&&&&&&params.put&&
("EBusinessID",&EBusinessID);&&
&&&&&&&&params.put&&
("RequestType",&"1002");&&
&&&&&&&&String&&&
dataSign=encrypt(requestData,&&&
AppKey,&"UTF-8");&&
&&&&&&&&params.put&&
("DataSign",&urlEncoder(dataSign,&&&
"UTF-8"));&&
&&&&&&&&params.put&&
("DataType",&"2");&&
&&&&&&&&&&
&&&&&&&&String&&&
result=sendPost(ReqURL,&params);&&&&&&
&&&&&&&&&&
理返回的信息......&&
&&&&&&&&&&
&&&&&&&&return&&&
&&&&public&String&&&
getOrderTracesByXml()&throws&&&
Exception{&&
&&&&&&&&String&&&
requestData=&"&?xml&version=&&
\"1.0\"&encoding=\"utf-8\"&?&"+&&
&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&"&Content&"+&&
&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&
"&OrderCode&&/OrderCode&"+&&
&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&
"&ShipperCode&SF&/ShipperCode&"+&&
&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&
"&LogisticCode&&/Logi&&
sticCode&"+&&
&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&"&/Content&";&&
&&&&&&&&&&
&&&&&&&&Map&String,&&&
String&&params&=&new&&&
HashMap&String,&String&();&&
&&&&&&&&params.put&&
("RequestData",&urlEncoder&&
(requestData,&"UTF-8"));&&
&&&&&&&&params.put&&
("EBusinessID",&EBusinessID);&&
&&&&&&&&params.put&&
("RequestType",&"1002");&&
&&&&&&&&String&&&
dataSign=encrypt(requestData,&&&
AppKey,&"UTF-8");&&
&&&&&&&&params.put&&
("DataSign",&urlEncoder(dataSign,&&&
"UTF-8"));&&
&&&&&&&&params.put&&
("DataType",&"1");&&
&&&&&&&&&&
&&&&&&&&String&&&
result=sendPost(ReqURL,&params);&&&&&&
&&&&&&&&&&
理返回的信息......&&
&&&&&&&&&&
&&&&&&&&return&&&
&&&&@SuppressWarnings&&
("unused")&&
&&&&private&String&MD5(String&&&
str,&String&charset)&throws&&&
Exception&{&&
&&&&&&&&MessageDigest&md&=&&&
MessageDigest.getInstance("MD5");&&
&&&&&&&&md.update&&
(str.getBytes(charset));&&
&&&&&&&&byte[]&result&=&&&
md.digest();&&
&&&&&&&&StringBuffer&sb&=&new&&&
StringBuffer(32);&&
&&&&&&&&for&(int&i&=&0;&i&&&&&
result.&i++)&{&&
&&&&&&&&&&&&int&val&=&result&&
&&&&&&&&&&&&if&(val&&=&0xf)&{&&
&&&&&&&&&&&&&&&&sb.append&&
&&&&&&&&&&&&}&&
&&&&&&&&&&&&sb.append&&
(Integer.toHexString(val));&&
&&&&&&&&}&&
&&&&&&&&return&sb.toString&&
().toLowerCase();&&
&&&&private&String&base64&&
(String&str,&String&charset)&&&
UnsupportedEncodingException{&&
&&&&&&&&String&encoded&=&&&
base64Encode(str.getBytes&&
(charset));&&
&&&&&&&&return&&&&&&
&&&&}&&&&&
&&&&@SuppressWarnings&&
("unused")&&
&&&&private&String&&&
urlEncoder(String&str,&String&&&
charset)&throws&&&
UnsupportedEncodingException{&&
&&&&&&&&String&result&=&&&
URLEncoder.encode(str,&charset);&&
&&&&&&&&return&&&
&&&&@SuppressWarnings&&
("unused")&&
&&&&private&String&encrypt&&&
(String&content,&String&keyValue,&&&
String&charset)&throws&&&
UnsupportedEncodingException,&&&
Exception&&
&&&&&&&&if&(keyValue&!=&&&
&&&&&&&&{&&
&&&&&&&&&&&&return&&&
base64(MD5(content&+&keyValue,&&&
charset),&charset);&&
&&&&&&&&}&&
&&&&&&&&return&base64&&
(MD5(content,&charset),&charset);&&
&&&&@SuppressWarnings&&
("unused")&&
&&&&private&String&sendPost&&
(String&url,&Map&String,&String&&&&
params)&{&&
&&&&&&&&OutputStreamWriter&out&=&&&
&&&&&&&&BufferedReader&in&=&&&&
&&&&&&&&StringBuilder&result&=&&&
new&StringBuilder();&&&
&&&&&&&&try&{&&
&&&&&&&&&&&&URL&realUrl&=&new&&&
URL(url);&&
&&&&&&&&&&&&HttpURLConnection&&&
conn&=(HttpURLConnection)&&&
realUrl.openConnection();&&
&&&&&&&&&&&&
置如下两行&&
&&&&&&&&&&&&conn.setDoOutput&&
&&&&&&&&&&&&conn.setDoInput&&
&&&&&&&&&&&&
&&&&&&&&&&&&&&
conn.setRequestMethod("POST");&&
&&&&&&&&&&&&
&&&&&&&&&&&&&&
conn.setRequestProperty("accept",&&&
&&&&&&&&&&&&&&
conn.setRequestProperty&&
("connection",&"Keep-Alive");&&
&&&&&&&&&&&&&&
conn.setRequestProperty("user-&&
&&&&&&&&&&&&&&&&&&&&"Mozilla/4.0&&&
(&MSIE&6.0;&Windows&NT&&&
5.1;SV1)");&&
&&&&&&&&&&&&&&
conn.setRequestProperty&&
("Content-Type",&"application/x-&&
www-form-urlencoded");&&
&&&&&&&&&&&&conn.connect();&&
&&&&&&&&&&&&
对象对应的输出流&&
&&&&&&&&&&&&out&=&new&&&
OutputStreamWriter&&
(conn.getOutputStream(),&"UTF-&&
&&&&&&&&&&&&
&&&&&&&&&&&&if&(params&!=&null)&{&&
&&&&&&&&&&&&&&&&&&&&
StringBuilder&param&=&new&&&
StringBuilder();&&&
&&&&&&&&&&&&&&&&&&for&&&
(Map.Entry&String,&String&&entry&&&
:&params.entrySet())&{&&
&&&&&&&&&&&&&&&&&&&&&&&&
if(param.length()&0){&&
&&&&&&&&&&&&&&&&&&&&&&&&&&
&&param.append("&");&&
&&&&&&&&&&&&&&&&&&&&&&&&
}&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&
param.append(entry.getKey());&&
&&&&&&&&&&&&&&&&&&&&&&&&
param.append("=");&&
&&&&&&&&&&&&&&&&&&&&&&&&
param.append(entry.getValue());&&&&&&&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&
(entry.getKey&&
()+":"+entry.getValue());&&
&&&&&&&&&&&&&&&&&&}&&
&&&&&&&&&&&&&&&&&&&&
("param:"+param.toString());&&
&&&&&&&&&&&&&&&&&&&&
out.write(param.toString());&&
&&&&&&&&&&&&}&&
&&&&&&&&&&&&
&&&&&&&&&&&&out.flush();&&
&&&&&&&&&&&&
输入流来读取URL的响应&&
&&&&&&&&&&&&in&=&new&&&
BufferedReader(&&
&&&&&&&&&&&&&&&&&&&&new&&&
InputStreamReader&&
(conn.getInputStream(),&"UTF-&&
&&&&&&&&&&&&String&&&
&&&&&&&&&&&&while&((line&=&&&
in.readLine())&!=&null)&{&&
&&&&&&&&&&&&&&&&result.append&&
&&&&&&&&&&&&}&&
&&&&&&&&}&catch&(Exception&e)&{&&&&&
&&&&&&&&&&&
&&&&&&&&&&&&e.printStackTrace();&&
&&&&&&&&}&&
流、输入流&&
&&&&&&&&finally{&&
&&&&&&&&&&&&try{&&
&&&&&&&&&&&&&&&&if(out!=null){&&
&&&&&&&&&&&&&&&&&&&&out.close();&&
&&&&&&&&&&&&&&&&}&&
&&&&&&&&&&&&&&&&if(in!=null){&&
&&&&&&&&&&&&&&&&&&&&in.close();&&
&&&&&&&&&&&&&&&&}&&
&&&&&&&&&&&&}&&
&&&&&&&&&&&&catch(IOException&&&
&&&&&&&&&&&&&&&&&&
ex.printStackTrace();&&
&&&&&&&&&&&&}&&
&&&&&&&&}&&
&&&&&&&&return&result.toString();&&
&&&&private&static&char[]&&&
base64EncodeChars&=&new&char[]&{&&&
&&&&&&&&'A',&'B',&'C',&'D',&'E',&&&
'F',&'G',&'H',&&&
&&&&&&&&'I',&'J',&'K',&'L',&'M',&&&
'N',&'O',&'P',&&&
&&&&&&&&'Q',&'R',&'S',&'T',&'U',&&&
'V',&'W',&'X',&&&
&&&&&&&&'Y',&'Z',&'a',&'b',&'c',&&&
'd',&'e',&'f',&&&
&&&&&&&&'g',&'h',&'i',&'j',&'k',&&&
'l',&'m',&'n',&&&
&&&&&&&&'o',&'p',&'q',&'r',&'s',&&&
't',&'u',&'v',&&&
&&&&&&&&'w',&'x',&'y',&'z',&'0',&&&
'1',&'2',&'3',&&&
&&&&&&&&'4',&'5',&'6',&'7',&'8',&&&
'9',&'+',&'/'&};&&&
&&&&public&static&String&&&
base64Encode(byte[]&data)&{&&&
&&&&&&&&StringBuffer&sb&=&new&&&
StringBuffer();&&&
&&&&&&&&int&len&=&data.&&&
&&&&&&&&int&i&=&0;&&&
&&&&&&&&int&b1,&b2,&b3;&&&
&&&&&&&&while&(i&&&len)&{&&&
&&&&&&&&&&&&b1&=&data[i++]&&&&&
&&&&&&&&&&&&if&(i&==&len)&&&
&&&&&&&&&&&&{&&&
&&&&&&&&&&&&&&&&sb.append&&
(base64EncodeChars[b1&&&&&2]);&&&
&&&&&&&&&&&&&&&&sb.append&&
(base64EncodeChars[(b1&&&0x3)&&&&&&
&&&&&&&&&&&&&&&&sb.append("==");&&&
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&}&&&
&&&&&&&&&&&&b2&=&data[i++]&&&&&
&&&&&&&&&&&&if&(i&==&len)&&&
&&&&&&&&&&&&{&&&
&&&&&&&&&&&&&&&&sb.append&&
(base64EncodeChars[b1&&&&&2]);&&&
&&&&&&&&&&&&&&&&sb.append&&
(base64EncodeChars[((b1&&&0x03)&&&
&&&4)&|&((b2&&&0xf0)&&&&&4)]);&&&
&&&&&&&&&&&&&&&&sb.append&&
(base64EncodeChars[(b2&&&0x0f)&&&&&&
&&&&&&&&&&&&&&&&sb.append("=");&&&
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&}&&&
&&&&&&&&&&&&b3&=&data[i++]&&&&&
&&&&&&&&&&&&sb.append&&
(base64EncodeChars[b1&&&&&2]);&&&
&&&&&&&&&&&&sb.append&&
(base64EncodeChars[((b1&&&0x03)&&&
&&&4)&|&((b2&&&0xf0)&&&&&4)]);&&&
&&&&&&&&&&&&sb.append&&
(base64EncodeChars[((b2&&&0x0f)&&&
&&&2)&|&((b3&&&0xc0)&&&&&6)]);&&&
&&&&&&&&&&&&sb.append&&
(base64EncodeChars[b3&&&0x3f]);&&&
&&&&&&&&}&&&
&&&&&&&&return&sb.toString();&&&

我要回帖

更多关于 eveapi 的文章

 

随机推荐