Search code examples
phpfile-get-contents

PHP- file_get_contents failed to open stream: Connection refused


I am using the following API for getting the country code using IP

http://api.hostip.info/country.php?ip=' . $IP

Example: on Localhost

$IP = '202.71.158.30';

//pass the ip as a parameter for follow URL it will return the country

$country_code = file_get_contents('http://api.hostip.info/country.php?ip=' . $IP);

and its working fine here and showing the country code.

But it showing error on Server

Example:

$IP=$_SERVER['REMOTE_ADDR'];

$country_code = file_get_contents('http://api.hostip.info/country.php?ip=' . $IP);

Showing following error:

Warning: file_get_contents(http://api.hostip.info/country.php?ip=101.63.xx.xxx) [function.file-get-contents]: failed to open stream: Connection refused in /srv/disk4/1322145/www/servername.in/app/header.php on line 12

Whats wrong with this?


Solution

  • You can use CURL in place of file_get_contents()

    <?php
        $IP = '202.71.158.30'; 
        $runfile = 'http://api.hostip.info/country.php?ip=' . $IP;
    
        $ch = curl_init();
    
        curl_setopt($ch, CURLOPT_URL, $runfile);
    
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    
        $content = curl_exec ($ch);
    
        curl_close ($ch); 
    
        echo $content;