কিভাবে একটি নির্দিষ্ট আইপি অনুযায়ী দেশ পেতে?

কোনও একটি আইপি ঠিকানা জন্য দেশ পুনরুদ্ধার করার একটি সহজ উপায় জানেন? সম্ভবত ISO_3166-1 ফরম্যাটে?

0
আইপি ব্যবহারকারীর বসার জায়গাটি সম্পর্কে খুব বেশি নির্ভর করবে না: কারণ আমি স্ক্যান্ডিনেভিয়ানের একটি কোম্পানির জন্য কাজ করি, আমি সুইডেনে বিজ্ঞাপন দেখছি, যদিও আমাদের অফিস স্কটল্যান্ডে আছে ...
যোগ লেখক AAT, উৎস
ঠিক - যদি আপনি এটি সম্পর্কে চিন্তা করেন। অনেক ক্ষেত্রে যেখানে আপনি কোথাও থেকে আসা প্রদর্শিত হতে পারে, কিন্তু আসলে অন্য কোথাও থেকে আসে। এর সবটাই নিচে যে নেটওয়ার্ক টপোলজি রাজনৈতিক বা ভূতাত্ত্বিক সীমানা নিশ্চিত করতে হবে না। F.ex. ভিপিএন এর, বেতার, স্যাটেলাইট এবং তাই।
যোগ লেখক Phluks, উৎস

14 উত্তর

Here's a nice free service with a public API: http://www.hostip.info/use.html

0
যোগ

অনেক মানুষ (আমার কোম্পানি সহ) MaxMind GeoIP ব্যবহার করতে বলে মনে হচ্ছে।

তাদের বিনামূল্যে সংস্করণ আছে জিওলাইট যা প্রদত্ত সংস্করণ হিসাবে সঠিক নয়, তবে যদি আপনি কিছু সহজে পরে থাকেন, এটি যথেষ্ট ভাল হতে পারে।

0
যোগ
উপরের GeoLite লিঙ্কটি 404 সালে যখন আমি আজ পরীক্ষা করেছি।
যোগ লেখক Parag Magunia, উৎস
আমাদের জিও অবস্থান API এছাড়াও ভাল কাজ করবে: ip-api.io
যোগ লেখক Andrey E, উৎস
কাজ লিঙ্কটি dev.maxmind.com/geoip/geoip2/geolite2
যোগ লেখক Manoj, উৎস

আমি জানি না কিভাবে hostip.info সাইট হল সঠিক। আমি কেবল সেই সাইটটি visted, এবং এটা রিপোর্ট যে আমার দেশ কানাডা হয়। আমি মার্কিন যুক্তরাষ্ট্র এবং আইএসপি যে আমার অফিস ব্যবহার করে শুধুমাত্র মার্কিন যুক্তরাষ্ট্র থেকে পরিচালনা করছি। এটি আপনাকে অনুমানের সংশোধন করার অনুমতি দেয়, কিন্তু যদি আপনি এই পরিষেবাটি ব্যবহার করে দেশের ওয়েব সাইট দর্শককে ট্র্যাক করতে চান তবে আপনার তথ্য সঠিক কিনা তা জানার কোন উপায় থাকবে না। অবশ্যই, আমি শুধু একটি তথ্য বিন্দু। আমি GeoLite দেশ ডেটাবেসটি ডাউনলোড করেছি, যা কেবল একটি .csv ফাইল এবং আমার IP ঠিকানা সঠিকভাবে ইউএস হিসাবে চিহ্নিত করা হয়েছে।

MaxMind পণ্য লাইন (অর্থপ্রদান বা বিনামূল্যে) এর আরেকটি সুবিধা হল যে আপনার কাছে ডেটা আছে, অন্য কোনও সিস্টেমে একটি ওয়েব পরিষেবা কল করার জন্য আপনি পারফরম্যান্সটি আঘাত করেন না।

0
যোগ
ইউকে এবং আমি বলেছি যে আমি ব্রাজিলের রিওতে ছিলাম :)
যোগ লেখক Mike, উৎস

The most accurate is Digital Elements NetAcuity...not free but you get what you pay for most of the time....Digital Element

0
যোগ

দুটি পদ্ধতি রয়েছে: একটি ইন্টারনেট পরিষেবা ব্যবহার করে এবং স্থানীয় তালিকা (সম্ভবত একটি লাইব্রেরীতে আবৃত) ব্যবহার করে। আপনি যা চান তা নির্ভর করবে আপনি কি নির্মাণ করছেন।

পরিষেবার জন্য:

তালিকার জন্য:

0
যোগ
সাধারনত সবচেয়ে দরকারী উত্তরগুলির মধ্যে একটি যে আমি SO দেখা করেছি। ধন্যবাদ!
যোগ লেখক tzot, উৎস
আপনি কি জানেন, যদি RIR গুলি আরও বিস্তারিত তথ্য থাকে, যেমন maxmind থেকে geopipcity db, খোলা ডেটা হিসাবে উপলব্ধ? আমি দেখেছি, কিন্তু এটি খুঁজে পাইনি
যোগ লেখক Jevado, উৎস

google's clientlocation returns (my example)

latlng = new google.maps.LatLng(google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude);
location = "IP location: " + getFormattedLocation();
document.getElementById("location").innerHTML = location;
0
যোগ

একটি ip ঠিকানা থেকে আপনাকে অনেক তথ্য পয়েন্ট দেয় যা ipdata.co দেখুন।

The API is pretty fast, with 10 global endpoints each able to handle >800M calls daily.

এখানে একটি curl উদাহরণ;

curl https://api.ipdata.co/78.8.53.5
{
    "ip": "78.8.53.5",
    "city": "G\u0142og\u00f3w",
    "region": "Lower Silesia",
    "region_code": "DS",
    "country_name": "Poland",
    "country_code": "PL",
    "continent_name": "Europe",
    "continent_code": "EU",
    "latitude": 51.6461,
    "longitude": 16.1678,
    "asn": "AS12741",
    "organisation": "Netia SA",
    "postal": "67-200",
    "currency": "PLN",
    "currency_symbol": "z\u0142",
    "calling_code": "48",
    "flag": "https://ipdata.co/flags/pl.png",
    "emoji_flag": "\ud83c\uddf5\ud83c\uddf1",
    "time_zone": "Europe/Warsaw",
    "is_eu": true,
    "suspicious_factors": {
        "is_tor": false
    }
}?  
0
যোগ

আপনি এই জন্য আমার সেবা, http://ipinfo.io ব্যবহার করতে পারেন। এপিআই একটি IP ঠিকানা সম্পর্কে বিভিন্ন বিবরণ একটি সম্পূর্ণ গুচ্ছ দেয়:

$ curl ipinfo.io/8.8.8.8
{
  "ip": "8.8.8.8",
  "hostname": "google-public-dns-a.google.com",
  "loc": "37.385999999999996,-122.0838",
  "org": "AS15169 Google Inc.",
  "city": "Mountain View",
  "region": "CA",
  "country": "US",
  "phone": 650
}

যদি আপনি দেশের কোডের পরে থাকেন তবে আপনাকে কেবল URL / যুক্ত করতে হবে:

$ curl ipinfo.io/8.8.8.8/country
US

এখানে একটি জেনেরিক পিএইচপি ফাংশন আপনি ব্যবহার করতে পারেন:

function ip_details($ip) {
    $json = file_get_contents("http://ipinfo.io/{$ip}");
    $details = json_decode($json);
    return $details;
}

$details = ip_details("8.8.8.8");

echo $details->city;     // => Mountain View
echo $details->country;  // => US
echo $details->org;      // => AS15169 Google Inc.
echo $details->hostname; // => google-public-dns-a.google.com

I've used the IP 8.8.8.8 in these examples, but if you want details for the user's IP just pass in $_SERVER['REMOTE_ADDR'] instead. More details are available at http://ipinfo.io/developers

0
যোগ

You can try the free IP2Location LITE database

মাইএসকিউএল টেবিল তৈরি করতে

CREATE DATABASE ip2location;
USE ip2location;
CREATE TABLE `ip2location_db1`(
    `ip_from` INT(10) UNSIGNED,
    `ip_to` INT(10) UNSIGNED,
    `country_code` CHAR(2),
    `country_name` VARCHAR(64),
    INDEX `idx_ip_to` (`ip_to`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

তথ্য ইম্পোর্ট করতে

LOAD DATA LOCAL
    INFILE 'IP2LOCATION-LITE-DB1.CSV'
INTO TABLE
    `ip2location_db1`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 0 LINES;

পিএইচপি কোড মাইএসকিউএল জিজ্ঞাসা

<?php
// Replace this MYSQL server variables with actual configuration
$mysql_server = "mysql_server.com";
$mysql_user_name = "UserName";
$mysql_user_pass = "Password";

// Retrieve visitor IP address from server variable REMOTE_ADDR
$ipaddress = $_SERVER["REMOTE_ADDR"];

// Convert IP address to IP number for querying database
$ipno = Dot2LongIP($ipaddress);

// Connect to the database server
$link = mysql_connect($mysql_server, $mysql_user_name, $mysql_user_pass) or die("Could not connect to MySQL database");

// Connect to the IP2Location database
mysql_select_db("ip2location") or die("Could not select database");

// SQL query string to match the recordset that the IP number fall between the valid range
$query = "SELECT * FROM ip2location_db1 WHERE $ipno <= ip_to LIMIT 1";

// Execute SQL query
$result = mysql_query($query) or die("IP2Location Query Failed");

// Retrieve the recordset (only one)
$row = mysql_fetch_object($result);

// Keep the country information into two different variables
$country_code = $row->country_code;
$country_name = $row->country_name;

echo "Country_code: " . $country_code . "
"; echo "Country_name: " . $country_name . "
"; // Free recordset and close database connection mysql_free_result($result); mysql_close($link); // Function to convert IP address (xxx.xxx.xxx.xxx) to IP number (0 to 256^4-1) function Dot2LongIP ($IPaddr) { if ($IPaddr == "") { return 0; } else { $ips = explode(".", $IPaddr); return ($ips[3] + $ips[2] * 256 + $ips[1] * 256 * 256 + $ips[0] * 256 * 256 * 256); } } ?>
0
যোগ

ipinfodb provides a free database and API for IP to country and vice versa. They use free data from MaxMind. The data gets updated every month, and it's a great free alternative with decent accuracy.

0
যোগ
আপনার নিজস্ব ডাটাবেস বজায় রাখার চেয়ে ভাল উপায়। শুধু একটি সত্যিই অস্পষ্ট জায়গা এটি পরীক্ষা (Uthai থানি, থাইল্যান্ড) এবং এটি স্পট ছিল। গ্রেট খুঁজে, ধন্যবাদ!
যোগ লেখক Jannie Theunissen, উৎস

আপনি এই প্রশ্নটির জন্য প্রদত্ত সমাধান ব্যবহার করতে পারেন

কিন্তু এটি একটি 2 অঙ্ক দেশ কোড ফেরৎ

0
যোগ

এই পিএইচপি কোড চেষ্টা করুন

  <?php  $ip = $_SERVER['REMOTE_ADDR'];
    $json = file_get_contents("http://api.easyjquery.com/ips/?ip=".$ip."&full=true");
    $json = json_decode($json,true);
    $timezone = $json[localTimeZone];?>
0
যোগ

use the function ipToCountry($ip) from http://www.mmtutorialvault.com/php-ip-to-country-function/

0
যোগ

আপনি ওয়েব পরিষেবা API এর ব্যবহার করতে পারেন যা এই কাজটি করে:

see example of service: http://ip-api.com and usage: http://whatmyip.info
0
যোগ