Chrome是否有任何简单的方法可以在不更改DNS的情况下将AJAX调用重定向到其他服务器? (例如:对http://domain.com/page.html的调用将定向到http://localmachine.com/page.html)
我知道这可以通过更改DNS来实现,但这并不能解决我的问题,因为当我只想捕获一个URL时,它会向localmachine发送所有domain.com请求。
提前致谢!
PS:如果有人知道已经做到这一点的扩展,那将非常受欢迎。如果没有,我将尝试在我自己的
上开发Chrome扩展程序补充:清单文件(在apsillers评论之后):
{
"name": "My Extension",
"version": "0.1",
"background": {
"script": "background.js"
},
"permissions" : [
"webRequest",
"webRequestBlocking",
"background",
"*://*/*"
],
"manifest_version": 2
}
答案 0 :(得分:0)
使用webRequest API中的onBeforeRequest
:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
// only redirect if accessing this page via Ajax
if(details.type == "xmlhttprequest") {
return {redirectUrl:"http://localmachine.com/page.html"};
}
},
{urls: ["http://domain.com/page.html"]},
["blocking"]);
这会设置一个重定向脚本,捕获http://domain.com/page.html
的所有Ajax请求,并使它们从http://localmachine.com/page.html
返回结果。浏览器无法知道重定向已经发生;即,它认为结果确实来自domain.com
。