You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

手机应用数据爬取:HTTP响应乱码问题求助

解决Burp Suite捕获韩系通讯APP HTTPS响应乱码问题

我在爬取一款韩国通讯类APP的消息数据时,用Burp Suite抓包HTTPS请求,返回内容全是乱码。响应截图如下:

响应乱码截图

请求头关键参数

  • Content-Type: application/json
  • Accept-Encoding: gzip, deflate
  • Accept-Language: en-US;q=1, ko-US;q=0.9

我的需求是获取API返回的英文或韩文明文数据,可提供对应的Python GET请求代码。

乱码响应内容

xœíWmoÛ6þ+?×6ïÌÇ4,E‡.Ý—¢0(òèhU$Á–²AþûHŠvœ-ÙK´Ð/ïxw¼;ñžÇº9ÜõOx3;>šQE”¥ÎsePY�ÐŽ–XA)/‚ä³WG³Ú_Üô˜< ‰›®»ÚFév†qÂh^7v;¼¾´Ã"-<6C}•\Ú±i¢Ï~·öŸS C•b†’VMç>½Áv<¯·CÜý0«ÛëzÀ´wÝMÏ~l×éiG_w9©+»ž,jYãºv°nHËP7“WcÎ>¦Í
Úã7¹-™‘,Ù´ö
T0<5f_i.hJûvïw|´¯ Úí\´wQŸû¦ó¸ðñä‡íèzlS;rÌj¬ª/ló)‹WöóYÛÃ9¶ëáòí§ƒã/KgÅàéœ|® YS<<¯e^Ë);‘Öñ7®uÖkR"•PIbY`%nŽ:i‹:I*Š”H%T9»ž$š:ù¤¶(5i‹ºÄ*ÁrŽdós’'©ì•­”‘)!)¦*K™¥S3Rï7¸ÅáöÍÍ©M—=%pööbuòþääü‡Õ/ïOVo>{Þ|¼Íjz˃‹±«­ÛÔþØØuJ ê~Çêµu—ùÂ,m_/¯aY<ÓeY^ávïåRb$WžJhU�ë*é°\¦¤£”+â8µR{c*/L—Üië••†VVI*PN”£S¢M¬!në4 Òè Ð‚õÚ{"@á%·Œ¬rþƒÝ¤[uj›¦êö¾¢Ó‹<ÿ„Ò9‘sàGŽ   =&»ºÌ;¶þÐ^ÏAf{8æfwÎðtĻſý4{öCôñ°É÷ˆNÐä{W¦0OÄ.«1ØuŽw»³)в¥lÇ~ˆh·}ˆD§Ød0ÚÆÒ
Üý¡Á.äÞöCݵø¹híê˜ÅM¹!dg6‡´þWÜÔagw‡ˆXa×DSJ%…dŒš|¬mÛnlVº=ž«õYÂÂ=x^C¿=^.+;ï7]‚¹kíf>.\·ìÃ*å~²^Õ«nGv’ƒŽ
®¤YüÖ¯ó«Yoº±?›:ÛQÙ6µ3(ý¼{µë7û` ‰øÆ$ ĘîÁâ`븇ûRA‚†Ë½ö;  ¼d˜Þþs’�0­�
¥ŠKRI©€`¥‘b|O–­)‡”{ëwÜU<ĵñRg‚¯"1„È%Ú+M­qF
æ•&¼‚àÍÿŸbŸ“Ø‹$xǦFàìk@¤ãB`¤&êq`C\*eä—‘€øÖ$�ùð_‡$+¸'8Ô~'—LðÜ$ ]ˆKÅ(xÏP  ª•Šä+Cµ�”Q…TGôg•¥Á�@àà±ÜB0¡rî"g ªFbð\2tVþ€9åG@¨ò¯H€Ê#È$Àø£$ð0âS$�O’@üüø›|¿„
(½Tšò¡šóuH@ìI€SFô£$ Ÿ iÔÒ¹³‹Í˜1÷OõÐtJs‘àîm¹ö@

解决思路与步骤

1. 处理Gzip/Deflate压缩

请求头显示客户端接受压缩响应,服务器大概率返回了gzip压缩数据,这是乱码核心原因。

Burp Suite自动解压设置

  • 打开Burp Suite,进入Proxy -> Options
  • 找到Response Modification区域,勾选Automatically decompress gzip/deflate
  • 重新抓包查看响应,即可获取明文JSON

Python手动解压验证

如果Burp设置后仍有问题,用Python发送请求并手动解压,示例代码:

import requests
import gzip
from io import BytesIO

url = "你的目标API地址"
headers = {
    "Accept-Encoding": "gzip, deflate",
    "Accept-Language": "en-US;q=1, ko-US;q=0.9",
    # 补充其他必要请求头,比如User-Agent、Authorization等
}

response = requests.get(url, headers=headers)

# 处理压缩响应
if response.headers.get('Content-Encoding') == 'gzip':
    buffer = BytesIO(response.content)
    with gzip.GzipFile(fileobj=buffer) as f:
        decoded_data = f.read().decode('utf-8')
elif response.headers.get('Content-Encoding') == 'deflate':
    decoded_data = response.content.decode('utf-8')
else:
    decoded_data = response.content.decode('utf-8')

print(decoded_data)

2. 检查字符编码

解压后仍乱码,尝试切换韩系常用编码euc-kr:

# 替换utf-8为euc-kr
decoded_data = f.read().decode('euc-kr')

3. 确认HTTPS证书配置

确保Burp Suite的CA证书已正确安装到手机,避免因证书校验失败导致的异常加密返回。

4. 特殊加密处理(若上述方法无效)

部分通讯APP会对响应做自定义加密,需:

  • 逆向分析APP代码,找到解密逻辑
  • 在Burp中编写插件自动解密响应

内容的提问来源于stack exchange,提问作者mdssi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 21:15:06