【发布时间】:2014-08-06 06:47:46
【问题描述】:
我正在制作一个应用程序,它只是加载一个网站。我需要修改http请求的用户代理。如果 URI 与某种模式(即“广告”)匹配,我还需要取消网站发出的请求。
如何侦听/控制在我的应用中发出的所有 HTTP 请求是否有用于此的 API?
【问题讨论】:
-
用更多细节更新您的问题,而不是针对同一主题提出新问题。
标签: firefox-os
我正在制作一个应用程序,它只是加载一个网站。我需要修改http请求的用户代理。如果 URI 与某种模式(即“广告”)匹配,我还需要取消网站发出的请求。
如何侦听/控制在我的应用中发出的所有 HTTP 请求是否有用于此的 API?
【问题讨论】:
标签: firefox-os
如果只适合您,您可以在用户首选项中更改手机上的用户代理(手机上的 user.js 文件,您可以通过 adb shell 访问)。
否则,您最好的选择是使用反向代理。
APP -> Reverse proxy -> Real website
反向代理是一个服务器应用程序,它可以完全控制 HTTP 请求,并且可以剥离 UA 标头或用新的标头替换它等。
第三个:使用mozTCPSocket API 创建对服务器的 HTTP 请求。如果你只做 GET 它不应该那么难,你可以完全控制请求。如果您只与一台服务器通信,那可能没问题,但工作量会更大。
【讨论】:
http-on-modify-request 上使用observers 破解http reuqests,对于ff-os 没有这样的东西吗?我不想使用代理,因为我必须自己制作服务器?我不想发出请求,我只想将页面加载到 iframe 中,然后像在 xpcom 桌面上那样修改这些 http 请求。