这是因为目标网站可能做了反爬机制,判断的访问源的Referer,Referer是请求头中的一个参数。
那么,如果我想在我的网页中,直接链接跳转到目标网站怎么做呢?
新建一个中转页面,将目标地址当做参数传过去,然后在中转页面创建一个iframe,在iframe中进行location跳转,这样就会隐藏当前页面的Refer,从用户体验上,并不会产生差异。
上中转页面代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<style>
iframe{
border:0;
}
</style>
<script>
function getQueryString(variable){
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
var link = getQueryString("link");
document.body.appendChild(document.createElement('iframe')).src='javascript:"<script>top.location.replace(\''+link+'\')<\/script>"';
</script>
</body>
</html>
这是因为目标网站可能做了反爬机制,判断的访问源的Referer,Referer是请求头中的一个参数。
那么,如果我想在我的网页中,直接链接跳转到目标网站怎么做呢?
新建一个中转页面,将目标地址当做参数传过去,然后在中转页面创建一个iframe,在iframe中进行location跳转,这样就会隐藏当前页面的Refer,从用户体验上,并不会产生差异。
上中转页面代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<style>
iframe{
border:0;
}
</style>
<script>
function getQueryString(variable){
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
var link = getQueryString("link");
document.body.appendChild(document.createElement('iframe')).src='javascript:"<script>top.location.replace(\''+link+'\')<\/script>"';
</script>
</body>
</html>