版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
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.七h(yuǎn)Variable(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是否為空,是:接收的是明文,不需要解密(明文模式),然后進(jìn)入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:舟嚴(yán));電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文本和普通文本):全網(wǎng)發(fā)布一返回普通文本(文本消息的XML中Content字段的內(nèi)容必須組裝為:cmd+from_callback,其中cmd是接收的xml中Content字段的內(nèi)容):/模擬船結(jié)送文本消息給專月測試公康號(hào)r笑三方舍右需根站文齊涓底的円容世廳相應(yīng)號(hào)響應(yīng):)徹信模崔古需三方三吿方:文車肖息r其口匚onisM字段旳內(nèi)容回連為:TEGTCOMPONENT_MGG_TYPE_TEXT第三方平臺(tái)方亞馬回應(yīng)文本消息并最終齟達(dá)粉卷: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粽得橫權(quán)尙全網(wǎng)發(fā)布一返回api文本(這個(gè)比較麻煩,下面詳解)下而*yPri.rT#114ifAd.indtw?flBJEtvjUTHOOE如紬丄衛(wèi)/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那咅啊優(yōu)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.全網(wǎng)發(fā)布api文本消息,微信模推送給第三方平臺(tái)方:文本消息,其中Content字段的內(nèi)容固定為:QUERY_AUTH_CODE:$qu
13、ery_auth_code$(query_auth_code會(huì)在專用測試公眾號(hào)自動(dòng)授權(quán)給第三方平臺(tái)方時(shí),由微信后臺(tái)推送給開發(fā)者)接收授權(quán)碼($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鬧嗨時(shí)-_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.使用授權(quán)碼、componentAccessToken
17、、第三方平臺(tái)appid換取公眾號(hào)的授權(quán)信息/ft用權(quán)舊碼尊時(shí)上金主甫畏權(quán)Afthorizationilnfoinfo-WxAPIyt11uett?rizi?ttonJ時(shí)貿(mào)cciponentAcessToken3Cwstr-t,Cottpo”葉D.cciite*tTcc.nenu5)Stringnuthori3*r_aceaE_tok-c-r-infa-ALrthorizcir_aiEe*sfi_tokn()jZJ5W將取得的信息封裝到實(shí)體類中g(shù)etAuthorizationInfo方法中+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發(fā)送客服信息Stringaurtrwrizer_access_taken=in-to-e七山口七局尸匚:弋滬日匚匚亡日日_七1上亡口1)|1、欄(3方栢口聞?dòng)?(|1Stringt*Mt:f.cc-itftus+n_fpqm_叩i+nJ*1;ff3內(nèi)咅contewk.cc.iwenus=WxAIlJt1
19、11Ci/3(frcniJierldj-t-exthf-t=xtj.vrithorizcr_actfl-55-_tol?en)j;7打強(qiáng)-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機(jī).燈譏斥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節(jié)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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- BIM工程師-全國《BIM應(yīng)用技能資格》考前沖刺1
- 北師大版小學(xué)四年級(jí)上冊數(shù)學(xué)教案(全冊)
- 蘇教版一年級(jí)數(shù)學(xué)下冊教案
- 2024高中地理第1章地理環(huán)境與區(qū)域發(fā)展第1節(jié)地理環(huán)境對(duì)區(qū)域發(fā)展的影響精練含解析新人教版必修3
- 2024高中語文第5單元莊子蚜第1課無端崖之辭練習(xí)含解析新人教版選修先秦諸子蚜
- 2024高中語文第六單元文無定格貴在鮮活種樹郭橐駝傳訓(xùn)練含解析新人教版選修中國古代詩歌散文欣賞
- 2024高考化學(xué)一輪復(fù)習(xí)專練28熱化學(xué)方程式的書寫及正誤判斷含解析新人教版
- 2024高考化學(xué)一輪復(fù)習(xí)第一部分考點(diǎn)16元素周期表強(qiáng)化訓(xùn)練含解析
- 2024高考?xì)v史一輪復(fù)習(xí)方案專題四世界政治制度的演變與發(fā)展第11講民主政治的擴(kuò)展教學(xué)案+練習(xí)人民版
- 2024高考地理一輪復(fù)習(xí)第二章第1講冷熱不均引起大氣運(yùn)動(dòng)教案含解析新人教版
- 我的家鄉(xiāng)湖北荊門介紹
- 廣州市小學(xué)生學(xué)籍表
- 塑料花(2019江蘇鎮(zhèn)江中考記敘文閱讀試題含答案)
- 大學(xué)生職業(yè)生涯規(guī)劃-自我認(rèn)知-課件
- 硬件研發(fā)產(chǎn)品規(guī)格書mbox103gs
- 直升機(jī)結(jié)構(gòu)與系統(tǒng)版
- 青春期教育-女生版青春期性教育-青春期性教育自慰課件
- 新生兒疾病診療規(guī)范診療指南診療常規(guī)2022版
- 兒科學(xué) 新生兒顱內(nèi)出血
- YY/T 0065-2016眼科儀器裂隙燈顯微鏡
- 喜報(bào)可編輯11張
評(píng)論
0/150
提交評(píng)論