在抓包过程中,发现某些 HTTP 请求在 Dashboard 中不会直接显示完整的 URL,而是先显示 ip:端口号,然后在后面的括号中显示完整的 URL 地址。这种请求多见于 iOS 设备,如下图
(请理解为了不泄漏可能在 URL 中存在的能识别个人身份的信息,部分数据已抹去)
试图匹配这类 URL 的正则规则为 URL-REGEX,https?://.+/.+/.+/snssvpdownload/SH/reserved/.+
在 iOS 和 macOS 上均已同步,但在 iOS 上无法实现正则匹配及拦截:
将 iOS Surge Dashboard 括号中的完整 URL 复制到 macOS Safari 浏览器试图重放请求,可以匹配及拦截:
基于这种现象,有几个问题
- 为什么在 Surge iOS 中会出现在括号中显示的 URL,而不是直接完整显示 URL?是否因为相应的 app 使用了某种特殊的 request header 或者协议?
- 既然 Surge 能够抓取到完整的 HTTP URL,为什么将其显示在括号里?
- 括号中的 URL 是否无法通过 URL-REGEX 进行匹配?
macOS 10.15.7
Surge Mac Version 4.0.4 (1227)
iOS 13.7
Surge iOS Version 4.5.1 (Build 1866)
@SurgeTeam