如何使用curl和php欺骗引荐者?

17

我需要一个简单的完整的 PHP + cURL 代码用于欺骗引荐网址,我尝试了其他一些但都没有工作,最后一个我检查的是这个

function doMagic($url)
{
  $curl = curl_init();

  $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
  $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
  $header[] = "Cache-Control: max-age=0";
  $header[] = "Connection: keep-alive";
  $header[] = "Keep-Alive: 300";
  $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
  $header[] = "Accept-Language: en-us,en;q=0.5";
  $header[] = "Pragma: ";

  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.12011-10-16 20:23:00");
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  curl_setopt($curl, CURLOPT_REFERER, "http://www.facebook.com");
  curl_setopt($curl, CURLOPT_ENCODING, "gzip,deflate");
  curl_setopt($curl, CURLOPT_AUTOREFERER, true);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION,true);

  $html = curl_exec($curl);
  echo 'Curl error: '. curl_error($curl);
  curl_close($curl);

  return $html;
}

如果可能的话,请让我能够通过POST方法输入目标URL。

编辑- 上面给我的错误是https://s9.postimg.cc/uhk87o2rz/image.png


我认为你发布的示例看起来很好,我没有发现任何问题。 唯一的问题是referer始终设置为facebook.com。 - gries
我在页面顶部得到了文本“curl error:”,我该如何将facebook.com替换为自定义referrer? - golu molu
1个回答

30
使用CURLOPT_REFERER选项,这是你已经使用过的。
curl_setopt($ch, CURLOPT_REFERER, "your referer website");

[编辑] 我不认为这个网站能找到你本地主机网站的引用来源。

在Google Chrome浏览器上尝试这个方法

在开发者工具中,转到网络视图(如果在加载页面时它没有打开,您需要重新加载以获取数据)。 点击主页请求 - 它应该在列表的顶部。 当您点击时,右侧窗格可能会显示其HTML。 点击右侧的“Headers”选项卡。 引用来源将显示在请求头列表中。


我在上面的代码中遇到了错误,请发布完整的PHP代码以供使用。 - golu molu
2
只需像这样设置任何引荐网站:curl_setopt($ch, CURLOPT_REFERER, "http://www.google.com/bot.html"); - Shankar Narayana Damodaran
我已经在博客和其他一些网站上测试过欺骗引荐者,但每个页面上总是有文本显示“curl error:”。 - golu molu
1
@golumolu,请从您的代码中删除此行 echo 'Curl error: '. curl_error($curl); - Shankar Narayana Damodaran
我能否使用 PHP 变量代替 facebook.com 作为引荐来源?我想从数据库中获取引荐网站。 - golu molu
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接