2014-02-24 3 views
0

피들러를 HTTP 프록시로 사용하여 로컬 CometD 서버에 연결합니다.CometD에서 클라이언트의 프록시 IP 주소를 얻는 방법은 무엇입니까?

클래스 DefaultSecurityPolicy을 상속 받고 클라이언트의 IP 주소가 server.getContext().getRemoteAddress().getAddress().getHostAddress()canHandshake 방법으로 얻습니다.

그러나 클라이언트의 실제 IP (원래 IP)를 반환하지만 원하는 것은 서버와 직접 통신합니다. 어떤 도움이 필요합니까?


CometD 서버와 통신하는 웹 소켓을 사용하여 클라이언트가 전혀 적용되지 않는 HTTP 프록시, 그래서 원래의 요지는 내가 무엇을 가지고 있으면

, 내가 바로 무엇입니까?

+0

OK 프록시 위치를 얻을 수있을 것입니다, 내가 마지막으로 이유를 얻었다. Fiddler는 http 프록시 일 뿐이지 만 WebSocket을 사용하고있었습니다 ... 죄송합니다. – Terran

답변

0
public function getlocationFromIp() 
{ 
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) { 
     // Check if using Shared Internet Environment 
     $ipAddress = $_SERVER['HTTP_CLIENT_IP']; 
    }elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ 
     // Check if using Proxy User 
     $ipAddress = $_SERVER['HTTP_X_FORWARDED_FOR']; 
    }else{ 
     $ipAddress = $_SERVER['REMOTE_ADDR']; 
    } 
    $ip_geo_url = 'http://freegeoip.net/json/'.$ipAddress; 
    $ip_json = file_get_contents($ip_geo_url); 
    $ip_json = json_decode($ip_json); 
    return $ip_json; 
} 

그것은 당신을 도울 경우는 위치 오순절 IP를 얻을 것이다 ... 너무

관련 문제