PHP-php curl 代理 切换 ip

发布于 2017-03-12 02:15:02 字数 339 浏览 1298 评论 1

有一个需求,采集网站上的数据,用到了PHP的curl函数来模拟提交参数并采集。
发现对方的服务器有IP限制,同一个IP地址,采集若干条记录以后,就被列为黑名单了,返回404。
用VPN工具换IP后可以正常采集,想用curl函数自带的代理功能实现换IP,可行么?

curl_setopt($ch, CURLOPT_PROXY,             "YOUR PROXY HOST");         
curl_setopt($ch, CURLOPT_PROXYPORT, "YOUR PROXY PORT");

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

灵芸 2017-10-25 05:53:02

<?php
function curl() {
$headers['CLIENT-IP'] = '202.103.24.40';
$headers['X-FORWARDED-FOR'] = '202.103.24.40';
$headerArr = array();
foreach( $headers as $n => $v ) {
$headerArr[] = $n .':' . $v;
}
$url ="http://model.zhangzhuan.org/toupiao/vote.php?id=63";
$params = array (
'qq' => '821200318' ,
);

$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)' );
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, ($params) );
curl_setopt ( $ch, CURLOPT_SSLVERSION, 3 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE ); //
//curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_REFERER, "http://phpspeak.com/ ");
curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr ); //构造IP
//curl_setopt( $ch, CURLOPT_HEADER, 1);//此处如果去掉不会再页面显示一些头部信息
$result = curl_exec ( $ch );
$error = curl_error ( $ch );
curl_close ( $ch );
return $result;
}
$a = curl ();
echo $a;

试试这个

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文