آدرس IP عمومی شما
،
به سادگی تمام
نشانی شما در اینترنت ، همراه با اطلاعات شبکه
آدرس IP عمومی شما
اتصال فعلی- شبکه و ارائهدهنده
- Amazon.com, Inc.AS16509
- کشور
-
United States
- شهر
- Columbus
موقعیت جغرافیایی تقریبی است و ممکن است با محل واقعی شما تفاوت داشته باشد.
در خط فرمان ، فقط یک دستور :
curl ipify.ir
یک درخواست ، آدرس IP
بدون کلید API و بدون ثبتنام.
قالب مناسب پروژهتان
را انتخاب کنید.
دستورها را در خط فرمان اجرا کنید؛ باز کردن نشانی در مرورگر، همین صفحه را نمایش میدهد. پاسخها نمونه هستند.
دریافت IPv4 به صورت متن خام
curl -4 https://ipify.ir
203.0.113.42
دریافت IPv6
curl -6 https://ipify.ir
2001:db8::42
دریافت به صورت JSON
curl 'https://ipify.ir?format=json'
{"ip":"203.0.113.42"}
دریافت به صورت JSONP
curl 'https://ipify.ir?format=jsonp'
callback({"ip":"203.0.113.42"});
curl 'https://ipify.ir?format=jsonp&callback=getip'
getip({"ip":"203.0.113.42"});
بر اساس زبان پروژهٔ شما
نمونهکد برای ۳۸ زبان و ابزار برنامهنویسی
Arduino
if (client.connect("ipify.ir", 80)) {
Serial.println("connected");
client.println("GET / HTTP/1.0");
client.println("Host: ipify.ir");
client.println();
} else {
Serial.println("connection failed");
}
Bash
#!/bin/bash
ip=$(curl -s https://ipify.ir)
echo "IP address is: $ip"
C
// gcc main.c -lcurl
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://ipify.ir");
printf("IP address is: ");
curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
return 0;
}
C#
using System;
using System.Net;
namespace Ipify.Examples {
class Program {
public static void Main (string[] args) {
WebClient webClient = new WebClient();
string publicIp = webClient.DownloadString("https://ipify.ir");
Console.WriteLine("IP address is: {0}", publicIp);
}
}
}
C++
// g++ main.cpp -lcurl
#include <iostream>
#include <string>
#include <curl/curl.h>
size_t write_body(char *data, size_t size, size_t nmemb, std::string *out) {
out->append(data, size * nmemb);
return size * nmemb;
}
int main() {
CURL *curl = curl_easy_init();
std::string ip;
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://ipify.ir");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_body);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ip);
curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
std::cout << "IP address is: " << ip << std::endl;
return 0;
}
Clojure
(println "IP address is:" (slurp "https://ipify.ir"))
Crystal
require "http/client"
ip = HTTP::Client.get("https://ipify.ir").body
puts "IP address is: #{ip}"
D
import std.stdio;
import std.net.curl;
void main() {
auto ip = get("https://ipify.ir");
writeln("IP address is: ", ip);
}
Dart
// dart pub add http
import 'package:http/http.dart' as http;
void main() async {
final response = await http.get(Uri.parse('https://ipify.ir'));
print('IP address is: ${response.body}');
}
Elixir
:inets.start
{:ok, {_, _, inet_addr}} = :httpc.request('http://ipify.ir')
:inets.stop
Erlang
inets:start(),
ssl:start(),
{ok, {_, _, Ip}} = httpc:request("https://ipify.ir"),
io:format("IP address is: ~s~n", [Ip]).
F#
open System.Net.Http
let client = new HttpClient()
let ip = client.GetStringAsync("https://ipify.ir") |> Async.AwaitTask |> Async.RunSynchronously
printfn "IP address is: %s" ip
Go
package main
import (
"io/ioutil"
"net/http"
"os"
)
func main() {
res, _ := http.Get("https://ipify.ir")
ip, _ := ioutil.ReadAll(res.Body)
os.Stdout.Write(ip)
}
Groovy
def ip = new URL('https://ipify.ir').text
println "IP address is: $ip"
Haskell
-- cabal install http-conduit
import Network.HTTP.Simple
import qualified Data.ByteString.Char8 as B
main :: IO ()
main = do
response <- httpBS "https://ipify.ir"
B.putStrLn ("IP address is: " <> getResponseBody response)
Java
try (java.util.Scanner s = new java.util.Scanner(new java.net.URL("https://ipify.ir").openStream(), "UTF-8").useDelimiter("\\A")) {
System.out.println("My current IP address is " + s.next());
} catch (java.io.IOException e) {
e.printStackTrace();
}
JavaScript
<script type="application/javascript">
function getIP(json) {
document.write("IP address is: ", json.ip);
}
</script>
<script type="application/javascript" src="https://ipify.ir?format=jsonp&callback=getIP"></script>
jQuery
<script type="application/javascript">
$(function() {
$.getJSON("https://ipify.ir?format=jsonp&callback=?",
function(json) {
document.write("IP address is: ", json.ip);
}
);
});
</script>
Julia
using Downloads
ip = String(take!(Downloads.download("https://ipify.ir", IOBuffer())))
println("IP address is: $ip")
Kotlin
import java.net.URL
fun main() {
val ip = URL("https://ipify.ir").readText()
println("IP address is: $ip")
}
Lua
socket_http = require "http.compat.socket"
body = assert(socket_http.request("https://ipify.ir"))
print(body)
MATLAB
ip = webread('https://ipify.ir');
fprintf('IP address is: %s\n', ip);
Nim
import std/httpclient
let client = newHttpClient()
echo "IP address is: ", client.getContent("https://ipify.ir")
Node.js
var http = require('http');
http.get({'host': 'ipify.ir', 'port': 80, 'path': '/'}, function(resp) {
resp.on('data', function(ip) {
console.log("IP address is: " + ip);
});
});
Objective-C
#import <Foundation/Foundation.h>
int main() {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://ipify.ir"];
NSString *ip = [NSString stringWithContentsOfURL:url
encoding:NSUTF8StringEncoding
error:nil];
NSLog(@"IP address is: %@", ip);
}
return 0;
}
OCaml
(* opam install ocurl *)
let () =
let buffer = Buffer.create 32 in
let conn = Curl.init () in
Curl.set_url conn "https://ipify.ir";
Curl.set_writefunction conn (fun s -> Buffer.add_string buffer s; String.length s);
Curl.perform conn;
Curl.cleanup conn;
print_endline ("IP address is: " ^ Buffer.contents buffer)
Perl
use strict;
use warnings;
use LWP::UserAgent;
my $ua = new LWP::UserAgent();
my $ip = $ua->get('https://ipify.ir')->content;
print 'IP address is: '. $ip;
PHP
<?php
$ip = file_get_contents('https://ipify.ir');
echo "IP address is: $ip";
PowerShell
$ip = Invoke-RestMethod -Uri 'https://ipify.ir?format=json'
"IP address is: $($ip.ip)"
Python
# pip install requests
from requests import get
ip = get('https://ipify.ir').text
print('IP address is: {}'.format(ip))
R
ip <- readLines("https://ipify.ir", warn = FALSE)
cat("IP address is:", ip, "\n")
Ruby
require "net/http"
ip = Net::HTTP.get(URI("https://ipify.ir"))
puts "IP address is: " + ip
Rust
// cargo add reqwest --features blocking
use reqwest::blocking::get;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let ip = get("https://ipify.ir")?.text()?;
println!("IP address is: {}", ip);
Ok(())
}
Scala
import scala.io.Source
object Main extends App {
val ip = Source.fromURL("https://ipify.ir").mkString
println(s"IP address is: $ip")
}
Swift
import Foundation
let url = URL(string: "https://ipify.ir")
do {
if let url = url {
let ipAddress = try String(contentsOf: url)
print("IP address is: " + ipAddress)
}
} catch let error {
print(error)
}
TypeScript
const response = await fetch("https://ipify.ir?format=json");
const { ip } = (await response.json()) as { ip: string };
console.log(`IP address is: ${ip}`);
V
import net.http
fn main() {
resp := http.get('https://ipify.ir') or { panic(err) }
println('IP address is: ${resp.body}')
}
Zig
const std = @import("std");
const http = std.http;
pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
defer _ = gpa.deinit();
const allocator = gpa.allocator();
var client = http.Client{ .allocator = allocator };
defer client.deinit();
const uri = try std.Uri.parse("https://ipify.ir");
var req = try client.open(.GET, uri, .{
.server_header_buffer = try allocator.alloc(u8, 4096),
});
defer req.deinit();
try req.send();
try req.finish();
try req.wait();
var body = std.ArrayList(u8).init(allocator);
defer body.deinit();
try req.reader().readAllArrayList(&body, 1024);
std.debug.print("IP address is: {s}", .{body.items});
}
پرسشهای متداول
آدرس IP عمومی چیست؟
آدرس IP عمومی، نشانی اتصال شما در اینترنت است. این نشانی ممکن است میان چند دستگاه مشترک باشد یا با تغییر شبکه، استفاده از پراکسی یا VPN تغییر کند؛ لزوماً شناسهٔ یک دستگاه نیست.
تفاوت IPv4 و IPv6 چیست؟
IPv4 از آدرسهای ۳۲ بیتی و IPv6 از آدرسهای ۱۲۸ بیتی استفاده میکند. نسخهٔ ششم فضای آدرس بسیار بزرگتری دارد. نوع آدرس نمایشدادهشده به اتصال شما و پشتیبانی شبکه بستگی دارد.
آیا استفاده از ipify رایگان است؟
بله، استفاده از این سرویس رایگان است و به ثبتنام یا کلید API نیاز ندارد. میتوانید در پروژههای شخصی و تجاری از آن استفاده کنید.
چرا شهر یا کشور من دقیق نیست؟
اطلاعات مکانی از پایگاه دادهٔ آدرسهای IP به دست میآید، نه از موقعیت دستگاه شما. شبکهٔ اپراتور، پراکسی یا VPN میتواند باعث نمایش موقعیتی متفاوت شود.