1
我正嘗試在rails應用程序上使用geoip的web服務。他們不提供任何ruby演示,但這是他們爲PHP提供的。我想知道如果有人知道如何將其轉換爲在軌道上的紅寶石工作?我只需要從數據中獲得城市和地區。更多的例子可以在他們的網站上找到在將代碼從PHP轉換爲Ruby on Rails
$query = "http://geoip3.maxmind.com/b?l=" . $license_key . "&i=" . $ipaddress;
$url = parse_url($query);
$host = $url["host"];
$path = $url["path"] . "?" . $url["query"];
$timeout = 1;
$fp = fsockopen ($host, 80, $errno, $errstr, $timeout)
or die('Can not open connection to server.');
if ($fp) {
fputs ($fp, "GET $path HTTP/1.0\nHost: " . $host . "\n\n");
while (!feof($fp)) {
$buf .= fgets($fp, 128);
}
$lines = split("\n", $buf);
$data = $lines[count($lines)-1];
fclose($fp);
} else {
# enter error handing code here
}
echo $data;
$geo = explode(",",$data);
$country = $geo[0];
$state = $geo[1];
$city = $geo[2];
$lat = $geo[3];
$lon = $geo[4];
已經編碼的PHP的公平位和零紅寶石,我得說它看起來在紅寶石裏更好些。 – 2010-01-24 23:17:06
@Kenny:再次,你的php例子可以使用'file()'(參見:http://php.net/manual/en/function.file.php)編碼得更簡單。 – 2010-01-25 00:38:53