php – 如何找到广告的最终目的地(网址)(以编程方式)

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如何找到广告的最终目的地(网址)(以编程方式)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这可能是微不足道的,或者不是,但我正在研究一种软件,它将验证通过我的Web应用程序显示的广告的“行尾”域.理想情况下,我有一个不想提供广告的域名列表(假设Norton.COM就是其中之一),但大多数广告网络通过缩短的,含义模糊的URL(adsrv.com)提供广告,最终重定向到Norton.com.所以问题是:有任何一个构建,或者知道如何构建,类似刮刀的工具将返回广告的最终目标网址.

初步发现:某些广告采用Flash,JavaScript或纯html格式.模拟浏览器是完全可行的,并且可以对抗不同格式的广告.并非所有Flash或JS广告都有noflash或noscript替代品. (浏览器可能是必要的,但如上所述,这非常好……使用像WatiN或WatiR或WatiJ或Selenium等的东西……)

喜欢开,这样我就可以自己重建一个.真的很感激帮助!

编辑*此脚本需要点击广告,因为它可能是Flash,JS或只是HTML plain.因此Curl不太可能是一个选项,除非Curl可以点击?

解决方法

示例PHP实现:

$k = curl_init('http://goo.gl');
curl_setopt($k,CURLOPT_FOLLOWLOCATION,true); // follow redirects
curl_setopt($k,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) Applewebkit/534.7 ' .
'(KHTML,like Gecko) Chrome/7.0.517.41 Safari/534.7'); // imITate chrome
curl_setopt($k,CURLOPT_NOBODY,true); // HEAD request only (faster)
curl_setopt($k,CURLOPT_RETURNtransfer,true); // don't echo results
curl_exec($k);
$final_url = curl_getinfo($k,CURLINFO_EFFECTIVE_URL); // get last URL followed
curl_close($k);
echo $final_url;

哪个应该返回类似的东西
https://www.GOOGLE.com/accounts/ServiceLogin?service=urlshortener\u0026amp;continue=http://goo.gl/?authed=1\u0026amp;followup=http://goo.gl/?authed=1\u0026amp;passive=真放,去= TRUE

注意:如果要可靠地遵循HTTPS / SSL,则可能需要使用curl_setopt()来关闭CURLOPT_SSL_VERIFYHOST和CURLOPT_SSL_VERIFYPEER

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何找到广告的最终目的地(网址)(以编程方式)全部内容,希望文章能够帮你解决php – 如何找到广告的最终目的地(网址)(以编程方式)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。