先看代码(这是服务器A的代码)
$domain = 'http://s1.caiji.jufengcms.com';
$_url=$_SERVER['REQUEST_URI'];
$url=substr($_url,strripos($_url,"url=")-10);
var_dump(http_request2($domain.$url));
function http_request2($url, $data = null){
//创建一个curl资源
$ssl = stripos($url,'https://') === 0 ? true : false;
$ch = curl_init($url);
//设置配置
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
//curl请求返回值保存在变量中,不直接输出,
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//是get请求,还是post请求
if(!empty($data)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
if ($ssl) {
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
$output = curl_exec($ch);
if(curl_errno($ch))
{
echo 'Curl error: ' . curl_error($ch);
}
//curl请求失败时输出
if($output === false){
return "请求失败";
}
curl_close($ch);
return $output;
}
服务器B的代码
header('Access-Control-Allow-Origin: *');
$ip_address=getIpAddress();
echo json_encode($ip_address);
function getIpAddress(){
//ip是否来自共享互联网
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip_address = $_SERVER['HTTP_CLIENT_IP'];
}
//ip是否来自代理
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
//ip是否来自远程地址
else{
$ip_address = $_SERVER['REMOTE_ADDR'];
}
return $ip_address;
}
暂时只是让B获取到A的IP,代码量挺少的
只是访问服务器A的时候很不稳定,不知道为啥,时好时坏的
好的时候
坏的时候
感觉莫名其妙,求大佬指教
这个是你们DNS解析服务器的问题,对s1.caiji.jufengcms.com做一下host绑定吧
如通过PING获取到该域名地址为211.149.134.76
在linux则是添加一行211.149.134.76 s1.caiji.jufengcms.com在/etc/hosts是末尾行就可以了