版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4.排版后接下来是解密(加解密将接收xml变成字符串ReqLi2_tMmpping(HlLiie=/priiiTt/mppddlj.prx)dlucQis=1applic0ticm/xniL;th2iri!S!et:=UTF-S!)ponodypublicStringprocGS5PrintM5gOpGnPlatfornfi(ReqLiest:Param(value=1sechos七厂打required=false)Stringechos七广丄tParam(valu-signature)StringsignatunejiReque5tParam(value=asmi5g_5ignaturea,
2、required=fal)Stringui5g_5ieni9,tureJ1R.quiestParam(value-timetamp,!)Stringtim-estampjRequestParam(value=aanance,a)Stringnoncej.七hVariable(value=HappidH)5七厂IngappldHttpServ1已tRequestreqj.HttpServletRe5pon5eresp)throwsException丄柱出StringBuild已厂sb二newStringBuildeBufferedReadenin=DQqgetReader();|Stringli
3、nej/SystemoutprintIn用购匚到则=ap.gi4:11+旦般丄克+11=signarture:,b+signature+w=QQmwhile(line=in.readLine()1=null)fsb.appandfline);in*cloae()jStringxml-sb.toString();/Systemtout.prirrtln(渎取的XML为:+天mlj判断msg_signature是否为空,是:接收的是明文,不需要解密(明文模式),然后进入service中否:接收的是密文,需要解密(也即是安全模式)if(StringUtils.isBtorrfe(msg_ignatu
4、w)搀也:灵加密的xml(就是日月交摂式)Documentdoc=DocumenitHelper.pi?rseText(xml);Stringres=weiXiriiS&cessFrintMEDpEriiPlm七干口广皿山。,signa七11厂邑?|士11皀与tmiTip丄nonce);/System-out.println(=res:舟严);电um“;亟鍛加密的泌/接欣如巒的建卖全揍式)Do匚umentBui1derFactorydbf=DactimentBuilderaictciLy秤巴丹115亡口巾匸巴0;Dd匚umenitBuilider1db二dbf-niew&ocumen七Bu:i
5、ldEr*()|StringReadersr=newStringReader(xml);InputSourceis=newInputSour匚(弓厂:org,w3c.don*BDocumentdocument=db.pr5&(is);orgw:3匸.dom丘1。湘电门trootl-dacumerit.gQtDcituniontElwrweintf;/排JS咸弋xml/xiNodeListnadelist1=rootl.getElemeritsByTagName(l,Einciryptm);Stringencryp+=nodelistli+em(0).getTextContent()jStrin
6、gformat=11fi-r%JLdIL、-I-1fViI接收的是密文的话,要先排版成这种类型/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318479&lang=zh_CN)/5yi七r.out-prn七Ln(11framKML);kJO(BizHseCryptpc-hStringnonce)Elementroot-doe=root.eleentTextTrin(Eve).toLowrcase();/Systait-口袖七.prinitln(甲件.!H卜口誓am七lyp*)j,lf(
7、contextce-isTranspend-Dqusls(l)丿卜sas昌中*4:!*ifevtmtTypeeqyalslocition)/涉游林IRirt./&yst4an.out-printlra(全展布濒;contex七.ccmenus=皀曰1+frai_cal1back;lhafKiler=SubscribeEvei*tHandlep(rootjWKflem&ServiceiSJubscriberSiervice?advertservicejArtlcleServicejccHvtext);?!lf(nscTyjI=ii*ullSSidsjjTppe.equi15(MsaTpe.rfT
8、)7丈*:*-例2:接收的是文本消息(要分api文本和普通文本):全网发布一返回普通文本(文本消息的XML中Content字段的内容必须组装为:cmd+from_callback,其中cmd是接收的xml中Content字段的内容):/模拟船结送文本消息给专月测试公康号r笑三方舍右需根站文齐涓底的円容世厅相应號响应:)徹信模崔古需三方三吿方:文车肖息r其口匚onisM字段旳内容回连为:TEGTCOMPONENT_MGG_TYPE_TEXT第三方平台方亚马回应文本消息并最终齟达粉卷:Contentions为:TESTCOMPONENT_MSG_nPI:_TEXr_callbaceIseif(ms
9、gTypet=riiullsgType*equals(MsgType.TEXT)/交不消息/System.out.print1r(r=文蕊丫肯息=);String匸md二troot*elementTextTrim(Content1)jif(TESTCOMPOfJENT_MG_TYPE_TEXT.equals(cmd)/全磁布返回普通交本;為.总StpimgcTEturn匚oiitEn七=册1+_匚311.133|elif(cmd.1ndeOf(-QUER_AUTH_CODE=0)心全舉布連回館1文相Sfi/System.out,print1M=帝通回車消身=);context*cc.menus
10、=cmdh5pliti粽得橫权尙全网发布一返回api文本(这个比较麻烦,下面详解)下而*yPri.rT#114ifAd.indtw?flBJEtvjUTHOOE如紬丄卫/5|r=fauL-printlnCBK;ccntexti.cc,叶丹湖二:叙/IBtWlJi/h3kn.口uEm.println(-.-=.-Authsrixditi-arDriHL.EE.rwrruaiHy/ftFLOQ;tirk*t-Dtirk*t|9|9|inHjNiEl7feasqKLTkf4d.a6jidM2HiLlUxrWB7M3PirALhifrriJJLL-iXlEdCIJife&hcHd-ZQ-UdalbJh
11、DqF:/,j;Hita5f.ShCACfr-fr.E14H4ttiCk&tjApiTlkfltCiCN:-.CLCk4t/Syat-Mi.auk.iprintlnCSf(Hibrt=*llJ旦i中JtQSyst4P,+vt.pri!Ttl*CiticlM:t;ije4tANt.-.MnubeWTC-;hmdlariHMAnyPr3ni1:k3ig|HHnrdlBr|rootBccnt-nLt、jrontestiMidler.lonxesst)匸EFyFHdot.)F/5fe3tn.auksprintint那咅啊优iubrt2+(StrinfltLckot.rtWlun().门崩越!幡总黑甘了
12、梯自GifJLBMHWIH!l!iflAIIH-rirpl_quFny_jiuthifiH!Fffi31SliftHinfre-WSPIirtLiiflctAvt*Wr*lE-fltC*?In7(cwflonwtAcciSsTcJkWjCo-stanicoatwt.ccStruj/yflUEWtkH.X/1OIEjM-oCTIirTjflHMEa:JiJh.iiidvi-an*HAjPlntNiSibunillftpfruoTjg%r叶讪返回api文本消息:1.全网发布api文本消息,微信模推送给第三方平台方:文本消息,其中Content字段的内容固定为:QUERY_AUTH_CODE:$qu
13、ery_auth_code$(query_auth_code会在专用测试公众号自动授权给第三方平台方时,由微信后台推送给开发者)接收授权码($query_auth_code$)Stringcmc=root.elementTextTrim(Content);context.cc.menus=cmd.:)1j获得撩稅码获取缓存的ticketnet.sf.ehcache.Elementticket-jaApiTicketCache.get(Ticket);/r述人干今鉛存片七让k亡七/System.out.prin11n(1cket1+ticket);iffticket-null)Syiteni.a
14、uf.prnt1nt1c対空山context.cc.nenus=朗S后冉liU;handler=ncidAnyPrintPlsgHandlcroot匚ortextjcon七ext-setS七ite(hqqcav/ci-bin/component7wi_!wery_+uth#楚f也欝比口站?开GetComponent_access_token方法:鸽“r廿L,由,Lnirg-.(pubUcvtrtic&trirbEv-叭帼涉nfXffiTO鬧嗨时-_ILtKU0dpcK2GyE3-:6Zr485K2dIVEnKQNHpFD3tSp35iRipciyld_M-;Kepwr=wwHocfelMaip
15、Ojruip.put(ewpnR5it_vEri,fy_ticketj.tickct)mapiput(cwpDwnt_-&ppMcret|.flppSccrft);map.putewpDwnt_-&ppidj.ppld.;f/Sy&tMigwtprintl輛(./ppi卄=:4iap1p5eQ诧七*=B4-ticketj5Cf*piirtJ=M!wWei?(https:/api.weixin,qq.can/cEi-bi/conpartent/-Hpi_EPinxjneT.t_tciken,j旷皿屮rirycOji/5/rttndirt.printl.sCtc?kw*=*-Bpi&Bta)jUb
16、ie-ctccnponerit_3ci:e35_tcken=5ipii*t3.et(,iEwnwnet_acc5-_tQkcnl=null)5triiErt=tonpont_-BCCC5S_tDketoStriiB:(j/5y&tefioimK.prijntl.in(a!cHpoJief*t_accc2J_tc4.en=-=-,+ccponeriit_BCe5a_takcn*ietfrfElement(-Dppdil.ltii.jsApiTtth已.pirt(ctj)jj)显4r*怙刊r*dll4Mlritljrrt(SthLflJct:i.使用授权码、componentAccessToken
17、、第三方平台appid换取公众号的授权信息/ft用權旧码尊时上金主甫畏权Afthorizationilnfoinfo-WxAPIyt11uett?rizi?ttonJ时贸cciponentAcessToken3Cwstr-t,Cottpo”叶D.cciite*tTcc.nenu5)Stringnuthori3*r_aceaE_tok-c-r-infa-ALrthorizcir_aiEe*sfi_tokn()jZJ5W将取得的信息封装到实体类中getAuthorizationInfo方法中+1*EJ!5-ppr-fiiHarninBf(r-aiitrFpt5-a|.puncihKkr、p犀U*!
18、:Wap-!btrir;匕*apillattVbjaEtinfti口応1!01|3.W托3ion-JSdnCbi4viharLxakLixiCn-FaaultlMiraEdhiIf0r12Jtinl*fo.pitJthoiM.appi-d-+Miti!#,i2-Mlb!*rwtunfenMlli发送客服信息Stringaurtrwrizer_access_taken=in-to-e七山口七局尸匚:弋沪日匚匚亡日日_七1上亡口1)|1、栏(3方栢口闻用)(|1Stringt*Mt:f.cc-itftus+n_fpqm_叩i+nJ*1;ff3內咅contewk.cc.iwenus=WxAIlJt1
19、11Ci/3(frcniJierldj-t-exthf-t=xtj.vrithorizcr_actfl-55-_tol?en)j;7打强-iftf&(i-rflii-l-t);ti-undler=nwifinyPrlritMsiEH-Bindler(rootEontext);方法CustomSendMsg:tdSKAG賢Uppg宀也冷扣dd*1:冲盯publicstatic&kiin|审長誌in.fmLli-nrdpStrary;raijt.c.廿*inj,Shrara;aukbarLxarjie-c*iatake-)Hflll?iMp=nwHo机.灯讥斥wcipytftwHFj*wWserW
20、)ji紳”pwUFutyMjniSltj-pQ)a-puri:|k-KAt*fIbkL?lOjacl:Anray=75Ofbjac.jEHMGbjrt(aj!ip)1J/rupHISEHjHiMft&rStpi巧E0tdect*&LEtjj*神?eghttRi/b-rfixincr/cl-bin/tE5-fl.ej,cij5toh/5tnd?*ccess_t*tefl-*+*L-t*ci,iier_*ccs_tckevii-arfiy.tc5tir-+iDartaHSbrLn:rikut*StriTc)riipiData_KBt(r,*P丿a基本流程就是这样了,下面是一些需要用到的方法类:Se
21、ndReq方法:Suppre55arning-5(uncheckedas)puhliestaticMapsendReqringsurlringargsintreturnType)Mapres=nullj;try.URLurl二neiAiURL(surl)jHttplIRL匚cmriietionurlCon=(HttpURLConnection)uplopenConnection();urlCorix&ei3|3pLi1ati.Qi/jon;Eh3ri5iet=LITF-S1);urlCon亠呂段tRequRHtMQthod(POST);urlCon.setConnectTimeout(3100
22、0);yurlConsetDoInputtrue);urlCon百mtUseCaches(fjif(StringUtilsisNotBt?nfe(args)lipI匸ansetDoOutput(true.;Outputs!reamout=orlCon.getOutputStreamf);out,write(arg5.getByte5(B,UTF-8out,flush()jout.closeO;InpLitStrearnis=urlCon.geInpu-tt!treani);/RSiXMLjgif(returnType=J501V)ObjBctMapperom=neuiObjeci:NlmppE
23、r*();res=onnreadValue(isHashblapclass)jelseiffpeturnTyp=JCML)res=newHashMap();S/lXReaderreadr=newSAXR-eadar()jDocumentdoc=readepread(i&);Elementroot=docgetRootElement();L.istlist=roote:JL0irienti&(),for(Obje匚t:list)Elemente=(Elemenit)ojres.put(e.fetName()e.getTexTirirn();iscloseO;urlCon.di5onnect();
24、re+-u尸rraq:iscloseO;urlCon.disconnect();reinrn厂es;catch(Exceptione)JreturnneuHsshMap()AuthorizationInfo类:publicclassAuthorizaionlnfoimplementsSerializable*/Listfunc_info;Stringauthorirer_appid;5tring3ythorizer_refresh_tokenjinexpires_in;Stringsuthorizer_acce55_taken;ListgqtIFunc_infa()privatestaticf
25、inallongsrialVrsionUlD=-81S0143928429891999L;publicpublicpublicpublicpublicpublicreturnfonc_info;publicvidsetFunc_infa(Lis+func_inifo)this节Lmfinf口=func_info;publicStringgetAuthorizer_appid()Returnauthorize-r_ppid;publicwoldAuthorizer_appid(Stringauthorizerappid)thisBauthorizer_appicl=authorizer_appid;publicStringgetAuthorirer_refresh_token()returnsuthorizer_refresh_token;publicvoidsetAuthorizer_refresh_token(Sringauthorizer_refresh_token)this.authorizer_refresh_token=authorizer_riefresh_tQkenjpublic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电力设备出口购销合同
- 大夜班护士岗位职责
- 江苏省扬州市西湖实验学校高考地理 专题七 人类与高考地理环境的协调发展教案
- 八年级生物下册 第7单元 生命的延续与进化 第21章 第2节《生物的变异》教案 (新版)苏科版
- 2024年九年级语文下册 第一单元 写作学习扩写教学设计 新人教版
- 2024-2025学年高中政治 第三单元 全面依法治国 第八课 法治中国建设 1 法治国家教案 部编版必修3
- 2024春八年级语文下册 第3单元 12《诗经》二首教案 新人教版
- 2024-2025学年高中生物 第5章 生态系统及其稳定性 第4节 生态系统的信息传递教案 新人教版必修3
- 2024年春八年级道德与法治下册 第四单元 崇尚法治精神 第七课 尊重自由平等 第2框 自由平等的追求教案 新人教版
- 节水管理制度(模板)
- 心力衰竭急性心力衰竭和慢性心力衰竭
- 【医院管理案例学习】-床单位终末消毒标准的执行
- 施工现场移交交接单个人自制
- 心脏骤停与心源性猝死的急救与护理
- 甘肃省重点实验室申请书
- 中国胸痛中心数据填报平台胸痛患者出院随访数据信息采集表
- 知识产权渠道合作协议
- 旅行计划PPT模板
- 水箱清洗卫生管理制度
- 五年级书法上册第11课《集字临摹练习三-学而时习之》
- 2023学年完整公开课版WangfujingStreetinBeijing
评论
0/150
提交评论