PHP- file_get_contents无法打开流:连接被拒绝

问题描述:

我正在使用以下API通过IP获取国家/地区代码

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

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

示例:在 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.

但是它在服务器

示例:

$IP=$_SERVER['REMOTE_ADDR'];

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

显示以下错误:

警告: file_get_contents( http://api.hostip.info/country.php?ip = 101.63.xx.xxx ) [function.file-get-contents]:无法打开流:连接 在/srv/disk4/1322145/www/servername.in/app/header.php中被拒绝 在第12行

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

这有什么问题?

您可以使用CURL代替file_get_contents()

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;