【发布时间】:2014-06-23 12:16:19
【问题描述】:
有没有办法让我捕获从我的应用程序发送的所有 HTTP 请求,并在发送之前修改它们的标头?我想修改他们的 referer 标头,以便将请求发送到的服务器认为它们来自 Web 浏览器而不是移动应用程序。谢谢!
更新:为了给你更多背景信息,我计划使用 Phonegap 将 chrome 扩展 Instant Music 移植到 Android 应用程序中。一些允许在 PC 上使用的 YouTube 视频在移动设备上是不允许的,我怀疑这是因为嵌入在 android 应用程序中的 youtube 播放器没有引荐来源网址。我正在尝试找到解决此问题的方法,以便我也可以在移动设备上播放此类视频。
【问题讨论】:
-
肮脏的黑客可以吗?还是您在寻找干净的解决方案?
-
@MaximusS 您是否有权访问库的源代码(至少通过反编译)?一个可行的方法是找到
DefaultHttpClient的初始化位置,然后在其中添加HttpRequestInterceptor(必要时通过反射)。但是,如果不知道它是哪个库,就很难知道确切的步骤(或者即使可能)。 -
该库实际上是 Youtube 的 IFrame 播放器 API,它向 YouTube 服务器发送请求以获取视频数据。