我需要修改一些通过 Squid 传递的特殊 URL,例如:我通过 Squid 访问地址 www.google.com.vn。我想在某个地方修改 Squid 源代码,将 www.google.com.vn 替换为 www.google.com。因此,对 www.google.com.vn 的每个请求都将成为对 www.google.com 的请求
请帮助ASPS
首先,squid 重写和重定向依赖于第三方助手。最好的部分是您可以用任何编程语言编写此帮助程序。
使用url_rewrite_program
squid.conf 中的指令并将自定义脚本的路径添加到其中。您的脚本将收到以下内容:
URL client_ip "/" fqdn user method [ kvpairs]\n
显然你需要这个URL
部分,所以想办法获取 url 部分并返回你希望客户被引导到的网站。
希望以任何方式帮助...
示例重写程序 (C++)
#include <iostream>
#include <string>
using namespace std;
// a replace function :)
bool replace(std::string& str, const std::string& from, const std::string& to) {
size_t start_pos = str.find(from);
if(start_pos == std::string::npos)
return false;
str.replace(start_pos, from.length(), to);
return true;
}
int main()
{
while(1)
{
string input;
cin >> input;
replace(input, "www.google.vn", "www.google.com");
cout << input << endl;
}
}