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 显示我用户所显示的内容 展开
1个回答
展开全部
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是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |