当使用Stack Overflow API获取问题时,输出是乱码的



我想从堆栈溢出API得到一些问题。我做了以下的事情:

所有步骤执行成功。

  1. 请求用户批准应用: https://stackexchange.com/oauth/dialog?client_id=4783&scope=private_info&redirect_uri=https://stackexchange.com/oauth/login_success

  2. 使用此链接从用户获取访问令牌: https://stackexchange.com/oauth/login_success#access_token=..&expires=86399

  3. 转到内容页,从那里我必须得到数据: https://api.stackexchange.com/2.2/questions?order=desc&sort=activity&site=stackoverflow&key=Z19xwkOfreckWgqMe7OiZg((&access_token=..

我使用

file_get_content("https://api.stackexchange.com/2.2/questions?order=desc&sort=activity&site=stackoverflow&key=Z19xwkOfreckWgqMe7OiZg((&access_token=..")

来获取数据并打印出来。然而,在浏览器中打印的数据是这样的:

‹½ýoÛ6·þWˆØ/oQõÕ‹bè׶nëÚ5Ûºíâ" $ÊfbK®$Çñ†ýïï9¤äȱåHYwƒv$>Ç"ùø|3éF-볧ÿû×Y#gøæLÖ«óB5Tgªht³={rp‰r{qoØÿ=9+7…ªÎžþuV©Õº‘.‹³§‚‹'gëZU—:;{êA¸q{¥Ù®ÔÙS>Óu£*•¡Ü4U«æ²’ ÜŠÂ'g«ªÌõB]꥜áèyÓ¬ž:Ž>¯™^Ÿëål]§åÒñ~¯ëóU1ûª~æòèËÙ3äeº^-äö²KDX§sYÀõ….®ï¤YåªòE¹1Òðk§}^§²°¿ŸœéúRõÆ<íÓ.jõäìF«ÍeZ®‹æìiS0÷»î“³:-+øpŸ*ëæR¦¾5»ÌÌ$]á¹A( i¥ÌºõoAä-TeºÙƒ1?±ŸÖª60cqß½øá9v°Úé0Îf® ºÑ‹…:ßÎe=WÙJÖõ¦¬2Z©z½hh¢h½†ªëJáˆB©ÌìPaËüÄC~5b¾5bÞ·bˆCE.¬˜FÌVÌßOîèx%odVzÕ 7ŠÙz!««Þ—É•J›AÚ¹,èÑνÀFÓÎelïªúu­Î¯V'yWèëk²)‹ÙhêµÏì ’äöEgŸ{œ}¡ÜèüÈãS†˜.f´þ´–•¢IÕÔT5¨*j7–®u»‚7*£My­Š¹~A    ÄJ b%Y+á)ùe'‚ülDÜ'îûJ¦s5H#Ïí±H„.‹„‚EÇ8SÃÂl6›óYŸØHËûÖÉx°HªLxaœ$øew}îJÎb•ÃÍ–QÙ3«fÓ²ø²zöþ›/óc»–ëŲ,t=ͱvFN:‚d.4ËüøËxãxke<C7 Ø–uÇî+Í*TekMaº€ ‰.2¤Ÿ®ëµêQê¹N^ápòËb‡“v8±ÃѧȪRãÖÏ›å +d'¼»ªËõj˜X}^Eq    ï3òÊeqè'iæEcA–ñ8U¾¥a¤„'¹;‰W¯³åºÈÊñ¤²ÓqT‹»Ï¨¦Zß'”ÿy  ·Xà‰#†”ªïOT[ã˜í¤ê¶©ðI€BK°`zµPT-ÔVum€s5,mô²Ï¯ï.ÞýòžÜ¡I‡&ô4A41è>ÝÒÿümÞJ*+Š»(ef™–WZÍ×EjÈ5h¯O»À|¼MŒùtƘ¦i 3•ä" ?Î/¤‡< á!ßÊ+‘çê¥MC;=g‰P* tÝa&º0qÀ}½ÈCî›…WãÕM4®€qŽ1„¦r±À×{<¿Ë%]ªeŠqGž;ξke‘ž¬§¤F¬0Òá #VØîâ…u‰n›^ÍË¿™ªõ¬ +ÙÝ ¼%«tñHÚ¬«aƒÌA¹ôU'¸ç,Íaw:‡ýØÏ£˜+ž‹+'BÉ4=æ‰ÍáDžáKÜÕѺÔÌÏÙÃŽ±ÐÈÅEY«¬Ï6¢ï>¿ÙŽßô!‚ó£÷ã0òã;PÃB„ÑT5ŒXAÜ¥   ±•«Ý#Înâð¤52vöû–”+] ñYïE+úÝ¡äÃXò|µ"ÏûbûLž•åô>~´*fÚÐyVRÖDo;ÆF~ Ø)[¿ÏX1±Ryà? éyIŠV‚à‚ºe“"ËÊCÆþ¬—ËÑLµórÄŒ`¨8¡h2ùÇ"Wø¡ïñð]pÁÃûŠ–¢iqr‡q*´(P«ÎþÔÀ¯`Ä4e¦UMg{éÈö¡C’o,’tHb‘´)òïµEñ:—Ûú:›WY’âKRÖõ°Õß÷4#óái.æþ¹å=B3 pÇ,½Üpþâí7¿mK统7»÷/âçÎíïl…¾Ì³&rÀ4¥—ÿD&ï×+²˜ân✜›+º¥œM6–y"0ñÜw½a ˆ°CÏÝp²‰Œ3Sñ?+xvp©ª*°÷›9ìmª-ÞjJ ;T`m¨b-}KžŽ‡ßX9¤•CŒbä+‡4%iå#Çy#gÏ9ýÄnV¹ÙHcøe…yCu›.Ö™á~   jªÈ¾†ÌsGç‡s5 Wóó¦*)Ëk³ .ß,ƒÂ•6úý+ü˜gYÍÔ!¿WÅ—_xñÿh°ä­lêõV.åx‚Úù8ת@    t¹“ð°?ê¨I>ÖCþ¨`ÑýPÛ+§0NJíF#ó0»W[ºíQ¡#ÝË/Èn01ƒ-§zƒ‡³WòÖdl0تÅpp½¯òRoÅ@¢’õê–®`]¢±™WŠûÙöŠô(‚8‚8T9ˆ#ˆ3:ÅââÚ‘ƒòÔ¸|‹"÷s6Äyeæaœ¡Ïݘ³Œå^Kæ哬׫íBäÕ„d‚™Ž“!Žfÿ4JÅ:^CB†5CTïH LvÌM5oA`jHàÔ¤à>£-S· +=›7¶-„nh:Ÿ¹Vð*±`u¯Zô²ƒ„·m"dã—¯;ü¾o»FÆðÍã>NŸ3ôÃÄõ7Qiœ†~¥A&O²„‰ÌÄ´ü>Uûˆã}&;ÞécGð.~´ÚâM"Šã©Ðxj“ˆÁÇ)…ïö¡ß”ma™t ~J…ÙQ‰“Îh™Ã+ÒÜp/× lž.è]3Qßwy’Ðujå+{“‘2‡××­<ò5ÊÃÔC'ï~ú¡g»J’É­zM}õçîyS+HC¹xÎh˜’"£²ñä&sYOˆÛÇvàë{Ó‚ÇøP'Â@Ê`ÝPµâ“hX×ñ£Õ¢ ˜î`Æýîj@庢@ˆÍ`—iR‚M-WVÖja[-oäbÏyxWú8ypò àäEyKÞ·prÑÂɯÞ盺Mì&‘¶"¤ßr­ß-î‰ØýÑíþ@%è”2Lcá†^¬”HóÜWqÇLº™RótehŸy¼2´ã>ö_MO𡬽u,=!‘žN½Nl®–ëu^%‹YW¯„ø±@åW•›Ý.:ª5iK“%þˆúí@UZ ZE›4›åðp_›yœyâ”qÝÏMøÓÔ[ÀBæ3ߥ×. Pö±ãd¼V³ïÔÅ p3*³*þ?©ã=‚:°^˜n0ûˆþ?6U®*u£ËuM7*1¡ØK»ñwðp1ôý±•²Ãƒ61Ç1$Ðr3Kôžz¹Q‹2=u²å^c…‡Ÿ3* ½ÿ,U±çJÆ„.¼œI/á®ê<®˜ÞÊʪáÑ-8giaÿj¶žEöÖ1N=âÜAÀ Œj·”v{½g_7ó#ž×›šüÚŽ&w£   Žîüª¯ŽµæÈ50÷C¶Ý”%^ÁU]òöEGšœ‹~‹®çGÂ;Ū=õä!NÒ,,L¡| –ç&2ðUùIœ—¹q<±˜]5sNÈžšù9;Üà ݣGvD¸Gò§^€d7éŸ!‡ìàø‹ë‡üI¹ÕãlÚÔ)"7ÊJÿiÉd70‚Ð ÖtòÖ hl•»cÑÝù*›3ýxñŽ“=)&×RˆnLÓJMv¢l ü?ÊÝ«[xæ•ÊGUÃEÄc}Îc"ÌRž0X§ÌOC€ös3È)ü©:¯(¯&–‹Ú)âìøZÑABm´ös›tÂã µèq`º”¾é›€ÙÁ~d4Qª.BÒªMòÛbâbkyW”ÕR.(r‚.lãò½¼>J$­D‚‰•HÀc³™þN¢¥Ÿ•HP"A‰G’û»è´=xŠj3ÍÍYu*m²—۽РGçpƒGÄ9…LГ‘ÏÝ(æyG2SƲñÇd­s¢?%r¼‰n§ç ”Zè£Z7Æ3Õê}ŒÙ)åéÍܹÓó+€qÒuÝ+Á™3‡¸ jAí™B ‰9ç¥S›)úPKŸ]û™Á‹Gwð;ƒ'O>¾üš´x£E;úíÔT¨ä#¥l*=œ7ñú5çÜS|œõôî¡ïù*ô„âYú>cH9D¯rZÞøy•©e²ØŽW•v>Žì€Ûn4²Ìà ²O°Þ#¼DÀ8•Ô†K’r n´©@Ðö¯"ãÒ~+·L$ᯈlÊÄFz½Ü5–òO0ót4Eeez­ÐDÙÛæÃIa¼ÔucÏxá*­PÄŒ›ºË#š¼ÅP“÷þw?¼ø¤çÁo›£MÞÏ_¼v~ú)Ò¼ò·?æõˆ&ïodµ%ï!^›pÆÎÌ™”BÿYlòБw8àuÞéw<®j·×œ°$QiM[ôõ{wa˜aäõËÒ ;–v«Ëª9U¿Ï|ÎJCêgR²”{±÷—'R€‡—»,Ëc°˜¡?IC}/‹Ù|»†/Õ¼ °„MSD?¦ÚÀdz† UÏ‹»…8Ö.Æä *bœvçi±Æ#yæpª¤3½A%¨l£Ë:–tôj1¤Å˜1b0xÁbîwÏ>1•×Y¥NµÒF{Evî‡~p’nÿà2¸•¿Nª²ÿ ÊbBV¤}`gaaÿêÿaƒ=dŒ Ÿ4ìhsFðˆæÀ89| ¤kïv‚[´?9zô}/ëk‹#kß[ÜÅO?W-θW_[Ü‘@ö¨7¦›ñFæ·»7ÍÖ¸6•­Néµ Ú¥MlÄ‹ødÕj¿¡ã=hi+žò< #<GJd¾ë',vU–«ÑÁÀÌ.8Uã#;7§Ã<|—àÛí¥¶ÌDê´×ÌÊúŽZœ‡±ÏÈ<:t`ǃÁÃS'£ƒàþù­(ð'v}[Œ³‚€SU°"]­ßaÑÇ©Ê­¯ÑµÃÔ…uÿÅ`ôB&{:ò}'§+ú›âk+‡ r'î´rˆ•ó7v.ëË¥Y7ë"Z—¼Ê[³ö+ŒW*µ´RÀűÿ÷£¼ø®I

如何检索页面数据。

为了将来参考,@sachinmanit在评论中找到了他的问题的答案。为了清楚起见,我把它复制到这里:

响应是压缩的,因此需要提取响应才能读取它。@sachinmanit处理它的方式如下:

$json = file_get_contents("api.stackexchange.com/2.2/…");
$json_data = json_decode(gzdecode($json), true);

相关内容

  • 没有找到相关文章

最新更新