新建的网站想要快速获得友情链接是非常不容易的,质量好的网站不肯跟我链,质量差的我又看不上。还好,发现很多自助友情链接平台。
不过,这些自助(自动链)友情链接平台需要我添加他网站的友情链接,然后点击一下才显示。虽然我是新站,但是你们网站做的这么难看,又有那么多导出链接,我可不愿意也给你做友链呢!
怎么办?经过研究发现,这些自动链平台很懒,他们不是人工审核,而是通过referer自动审核,哈哈,那就好办了。
Python做起来相当简单,一个requests模块,headers带上referer请求一下就行了。但是效率方面差了很多,最后我用PHP做了一个。
function curlPost($item, $referer){
$data = array();
$isPost = false;
$header = [
'Accept: application/json, text/javascript, */*; q=0.01',
'Accept-Language: zh-CN,zh;q=0.9',
'Connection: keep-alive',
'Content-Type: application/x-www-form-urlencoded; charset=UTF-8',
'Origin:' . $item,
'Referer:' . $referer,
'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36',
'X-Requested-With: XMLHttpRequest',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $item);
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$isPost && curl_setopt($ch, CURLOPT_POST, 1);
$isPost && curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch,CURLOPT_TIMEOUT,60); //允许执行的最长秒数
$re = curl_exec($ch);
curl_close($ch);
if (!$re) {
return '{"sta":"error","url":"'.$item.'"}';
}else{
return '{"sta":"success","url":"'.$item.'"}';
}
}
代码应该是写的没问题,但是我多个网址提交,把函数放到for循环里面调用的时候,只有最后一条才会正常执行。为了解决这个难题我尝试了很多方法,但是都没有效果。
最后我只能靠js来循环执行了。
<script type="text/javascript">
//我把循环的部分删了,这里是ajax请求的部分
$.ajax({
'url': '/curl.php?item='+某自动链平台+'referer='+某网址,
'type': 'GET',
'success': function(data){
var datatext = JSON.parse(data);
$('#back').append('<h3>'+datatext.url+'提交结果'+datatext.sta+'</h3>');
}
})
</script>
这样就解决了for循环里面函数由于不明原因没有全部执行的问题。