




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、4.排版后接下來(lái)是解密(加解密將接收xml變成字符串ReqLi2_tMmpping(HlLiie=/priiiTt/mppddlj.prx)dlucQis=1applic0ticm/xniL;th2iri!S!et:=UTF-S!)ponodypublicStringprocGS5PrintM5gOpGnPlatfornfi(ReqLiest:Param(value=1sechos七廠(chǎng)打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七廠(chǎng)IngappldHttpServ1已tRequestreqj.HttpServletRe5pon5eresp)throwsException丄柱出StringBuild已廠(chǎng)sb二newStringBuildeBufferedReadenin=DQqgetReader();|Stringli
3、nej/SystemoutprintIn用購(gòu)匚到則=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廠(chǎng)邑?|士11皀與tmiTip丄nonce);/System-out.println(=res:舟嚴(yán));電um“;亟鍛加密的泌/接欣如巒的建賣(mài)全揍式)Do匚umentBui1derFactorydbf=DactimentBuilderaictciLy秤巴丹115亡口巾匸巴0;Dd匚umenitBuilider1db二dbf-niew&ocumen七Bu:i
5、ldEr*()|StringReadersr=newStringReader(xml);InputSourceis=newInputSour匚(弓廠(chǎng):org,w3c.don*BDocumentdocument=db.pr5&(is);orgw:3匸.dom丘1。湘電門(mén)trootl-dacumerit.gQtDcituniontElwrweintf;/排JS咸弋xml/xiNodeListnadelist1=rootl.getElemeritsByTagName(l,Einciryptm);Stringencryp+=nodelistli+em(0).getTextContent()jStrin
6、gformat=11fi-r%JLdIL、-I-1fViI接收的是密文的話(huà),要先排版成這種類(lèi)型/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é)送文本消息給專(zhuān)月測(cè)試公康號(hào)r笑三方舍右需根站文齊涓底的円容世廳相應(yīng)號(hào)響應(yīng):)徹信模崔古需三方三吿方:文車(chē)肖息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七=冊(cè)1+_匚311.133|elif(cmd.1ndeOf(-QUER_AUTH_CODE=0)心全舉布連回館1文相Sfi/System.out,print1M=帝通回車(chē)消身=);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().門(mén)崩越!幡總黑甘了
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葉訕?lè)祷豠pi文本消息:1.全網(wǎng)發(fā)布api文本消息,微信模推送給第三方平臺(tái)方:文本消息,其中Content字段的內(nèi)容固定為:QUERY_AUTH_CODE:$qu
13、ery_auth_code$(query_auth_code會(huì)在專(zhuān)用測(cè)試公眾號(hào)自動(dòng)授權(quán)給第三方平臺(tái)方時(shí),由微信后臺(tái)推送給開(kā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也欝比口站?開(kāi)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í)體類(lèi)中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|審長(zhǎng)誌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基本流程就是這樣了,下面是一些需要用到的方法類(lèi):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廠(chǎng)es;catch(Exceptione)JreturnneuHsshMap()AuthorizationInfo類(lèi):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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 盾構(gòu)隧道施工成本控制考核試卷
- 稀土金屬在照明領(lǐng)域的應(yīng)用考核試卷
- 游戲創(chuàng)意構(gòu)思與項(xiàng)目策劃考核試卷
- 船舶自動(dòng)消防系統(tǒng)設(shè)計(jì)與效能評(píng)估考核試卷
- 糧食倉(cāng)儲(chǔ)海外倉(cāng)建設(shè)考核試卷
- 火力發(fā)電廠(chǎng)運(yùn)行安全與風(fēng)險(xiǎn)控制技術(shù)應(yīng)用實(shí)踐考核卷考核試卷
- 多媒體教學(xué)模型設(shè)計(jì)與實(shí)現(xiàn)考核試卷
- 肉類(lèi)副產(chǎn)品在寵物食品領(lǐng)域的應(yīng)用考核試卷
- 火車(chē)站客運(yùn)服務(wù)標(biāo)準(zhǔn)化考核試卷
- 影視特效制作與特效技術(shù)交流合作合同
- 妊娠期高血壓疾病預(yù)防與治療
- 水熱合成法合成三氧化鎢
- JJF 1356.1-2023重點(diǎn)用能單位能源計(jì)量審查規(guī)范數(shù)據(jù)中心
- 關(guān)于青年崗位能手評(píng)選的細(xì)則規(guī)定
- 512防災(zāi)減災(zāi)主題班會(huì)課件
- 華東理工大學(xué)2023–2023學(xué)年其次學(xué)期基因工程期末考試
- 川教版四年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)復(fù)習(xí)資料
- SH/T 0356-1996燃料油
- GB/T 24270-2009永磁材料磁性能溫度系數(shù)測(cè)量方法
- 公司PVC管材合同模板
- 幼兒園教師與家長(zhǎng)溝通
評(píng)論
0/150
提交評(píng)論