php模拟用户IP抓取 cdn地址内容
谁知道怎么解决抓取cdn问题吗用php抓取cdn地址它总是根据我服务器的IP返回最近的视频地址我想根据用户IP地址获取用户最近的视频地址应该怎么写对方网页是XML的但是他...
谁知道怎么解决抓取cdn问题吗
用php抓取 cdn地址 它总是根据我服务器的IP返回最近的视频地址 我想根据用户IP地址获取用户最近的视频地址 应该怎么写
对方网页是XML的 但是他会获取用户IP 我用PHP抓取 他总是根据我服务器的IP返回 信息,而我想模拟用户IP 让对方网站根据我用户的IP 显示我用户所显示的内容 展开
用php抓取 cdn地址 它总是根据我服务器的IP返回最近的视频地址 我想根据用户IP地址获取用户最近的视频地址 应该怎么写
对方网页是XML的 但是他会获取用户IP 我用PHP抓取 他总是根据我服务器的IP返回 信息,而我想模拟用户IP 让对方网站根据我用户的IP 显示我用户所显示的内容 展开
展开全部
function get_client_ip ()
{
static $realip = NULL;
if ($realip !== NULL)
{
return $realip;
}
if (isset($_SERVER))
{
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
/* 取X-Forwarded-For中第?个非unknown的有效IP字符? */
foreach ($arr as $ip)
{
$ip = trim($ip);
if ($ip != 'unknown')
{
$realip = $ip;
break;
}
}
}
elseif (isset($_SERVER['HTTP_CLIENT_IP']))
{
$realip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
if (isset($_SERVER['REMOTE_ADDR']))
{
$realip = $_SERVER['REMOTE_ADDR'];
}
else
{
$realip = '0.0.0.0';
}
}
}
else
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$realip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_CLIENT_IP'))
{
$realip = getenv('HTTP_CLIENT_IP');
}
else
{
$realip = getenv('REMOTE_ADDR');
}
}
preg_match("/[\d\.]{7,15}/", $realip, $onlineip);
$realip = ! empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';
return $realip;
}
试试这个函数吧,我用这个函数获取IP,可以直接跳过CDN获取到客户机的IP
{
static $realip = NULL;
if ($realip !== NULL)
{
return $realip;
}
if (isset($_SERVER))
{
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
/* 取X-Forwarded-For中第?个非unknown的有效IP字符? */
foreach ($arr as $ip)
{
$ip = trim($ip);
if ($ip != 'unknown')
{
$realip = $ip;
break;
}
}
}
elseif (isset($_SERVER['HTTP_CLIENT_IP']))
{
$realip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
if (isset($_SERVER['REMOTE_ADDR']))
{
$realip = $_SERVER['REMOTE_ADDR'];
}
else
{
$realip = '0.0.0.0';
}
}
}
else
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$realip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_CLIENT_IP'))
{
$realip = getenv('HTTP_CLIENT_IP');
}
else
{
$realip = getenv('REMOTE_ADDR');
}
}
preg_match("/[\d\.]{7,15}/", $realip, $onlineip);
$realip = ! empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';
return $realip;
}
试试这个函数吧,我用这个函数获取IP,可以直接跳过CDN获取到客户机的IP
追问
你这是获取用户IP 我想要的是模拟用户IP抓取CDN地址
获取IP地址我也会写的。多谢你的回答,往继续交流
追答
还是不太明白你的需求,你想要实现什么功能呢?想 要知道CDN的地址?
$_SERVER['HTTP_X_FORWARDED_FOR']看看这个里面获取到的地址吧,里面应该有你要的数据
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询