我需要修改一些通过Squid传递的特殊URL,例如:我通过我的Squid访问地址www.google.com.vn。我想在某些地方修改Squid源代码,将www.google.com.vn替换为www.google.com。因此,每次向www.google.com.vn发出的请求都将成为www.google.com
的请求请帮助ASPS
答案 0 :(得分:3)
首先,鱿鱼重写和重定向取决于第三方帮助者。 最好的部分是你可以用 任何编程语言 编写这个帮助器。
在squid.conf中使用url_rewrite_program
指令
并添加自定义脚本的路径。
您的脚本将收到以下内容:
URL client_ip "/" fqdn user method [ kvpairs]\n
显然你需要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;
}
}