Nhận IP công khai của tôi qua API [đã đóng]


76

Có một API công khai từ một số công ty lớn để lấy ip công khai của tôi từ trong một chương trình không?

Tôi đã tìm thấy http://ip-address.domaintools.com/myip.xml, đó là chính xác những gì tôi muốn, nhưng không may là nó chặn Python urllibcũng như nhiều thư viện http khác, trừ khi bạn giả mạo tác nhân người dùng (bất cứ thứ gì làm không được gọi là API).

Vấn đề là tôi cần dữ liệu này cho một số thư viện mã nguồn mở tiềm năng, vì vậy chúng tôi phải chơi đúng luật. Tôi cũng biết rằng tôi có thể làm như vậy print $_SERVER[REMOTE_ADDR], nhưng tôi không muốn lưu lượng truy cập máy chủ đến tất cả mọi người sử dụng thư viện của tôi.

Vì vậy, có cái gì đó giống như URL ở trên, nhưng API thực, cho phép rô bốt không?



1
Duck Duck Go có một phương pháp công khai để xác định địa chỉ IP của bạn. Tôi đã trình bày chi tiết hơn ở đây, vì câu hỏi này đã bị đóng và tôi không thể thêm câu trả lời: stackoverflow.com/a/33743758/901641
ArtOfWarfare,

2
ipify.org là một dịch vụ thay thế.
Horcrux7

Tôi khuyên bạn nên thử Ipregistry: api.ipregistry.co/?key=tryout (tuyên bố từ chối trách nhiệm: Tôi chạy dịch vụ).
Laurent

Câu trả lời:


95

Mặc dù không phải từ các công ty lớn, nhưng tất cả những điều này sẽ hoạt động:

curl icanhazip.com
curl -s 'http://checkip.dyndns.org' | sed 's/.*Current IP Address: \([0-9\.]*\).*/\1/g'
host -t a dartsclink.com | sed 's/.*has address //'
curl curlmyip.com
curl ifconfig.me # this has a lot of different alternatives too, such as ifconfig.me/host

Nguồn


1
Thật tuyệt vời! Cảm ơn rất nhiều, đặc biệt. cho dyndns một, điều đó sẽ làm!
Slava V

4
icanhazip.com trả về kết quả sạch IMHO
mnagel


@mnagel Có vẻ như đây cũng là ứng dụng duy nhất hỗ trợ HTTPS. Làm thế nào mỉa mai ...
Navin

4
Bạn có thể kiểm tra ipify.org , có API rõ ràng và hỗ trợ HTTPS.
Yoan Tournade

40

Bạn có thể lấy IP của mình và toàn bộ thông tin khác từ dịch vụ của tôi http://ipinfo.io :

$ curl ipinfo.io
{
  "ip": "67.188.232.131",
  "hostname": "c-67-188-232-131.hsd1.ca.comcast.net",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.385999999999996,-122.0838",
  "org": "AS7922 Comcast Cable Communications, Inc.",
  "phone": 650
}

Nếu bạn chỉ muốn IP:

$ curl ipinfo.io/ip
67.188.232.131

Điều đó cũng hoạt động cho các trường khác, ví dụ:

$ curl ipinfo.io/org
AS7922 Comcast Cable Communications, Inc.

Thông tin chi tiết có tại http://ipinfo.io/developers


2
Không hỗ trợ HTTPS
Navin

Các gói trả phí đều có hỗ trợ HTTPS. Xem ipinfo.io/pricing
Ben Dowling

Không hỗ trợ IPv6 ...
gỉ sắt

Nó hỗ trợ IPv6 qua v6.ipinfo.io
Ben Dowling

Có vẻ như https hiện đã được hỗ trợ, không cần gói trả phí.
Raman


3

Tôi sử dụng cái này, dễ nhớ và nó ngắn hơn những cái khác:

$ curl ifconfig.me

MẸO: Hãy nhớ rằng nếu bạn sử dụng curl trong các tập lệnh shell, bạn phải sử dụng -stùy chọn, nếu không nó sẽ in bảng tiến trình tải xuống.

$ echo `curl -s ifconfig.me`


3
Tôi di chuyển từ ifconfig.me để ipinfo.io do sự chậm chạp
rodvlopes

Không hỗ trợ IPv6 ...
gỉ sắt

0

Có, bạn có thể thử với whoisthisip.com

http://whoisthisip.com/HRAS/ Đăng ký whoisthisip.com để lấy thông tin địa chỉ IP của trang web như vị trí thành phố, vị trí quốc gia và tên miền.

Sau khi đăng nhập, bạn sẽ nhận được một mã tham chiếu và một url để xem và lấy thông tin về địa chỉ IP của trang web bạn đã đăng ký.


0

bạn có thể sử dụng API của dịch vụ web để thực hiện công việc này như:

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

chúc may mắn!!!


ip-api.com/json là cách nhanh nhất và nó có thời gian phản hồi tốt nhất. 150 yêu cầu / phút
ivahidmontazer


-1

Nếu bạn không thể cài đặt curl trong biến thể wget hệ thống của mình sẽ là:

wget -qO- curlmyip.com
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.