全网发布之普通文本-api文本-事件消息返回_第1页
全网发布之普通文本-api文本-事件消息返回_第2页
全网发布之普通文本-api文本-事件消息返回_第3页
全网发布之普通文本-api文本-事件消息返回_第4页
全网发布之普通文本-api文本-事件消息返回_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论