Zastanawiam się, czy istnieje prosty sposób na uzyskanie publicznego adresu IP komputera przy użyciu Rubiego.Uzyskaj publiczny (zdalny) adres IP
Odpowiedz
Akamai zapewnia "Jakie jest moje IP" stronę, że można pobierał:
require 'open-uri'
remote_ip = open('http://whatismyip.akamai.com').read
Istnieje kilka alternatyw, które robią to samo, choć:
- http://whatismyip.akamai.com
- http://ipecho.net/plain
- http://icanhazip.com
- http://ident.me
- http://bot.whatismyipaddress.com
Można również użyć ipv4
i ipv6
subdomen z icanhazip.com
.
Jeśli nie chcesz polegać na innej osobie, możesz przetasować ją w aplikacji z jedną stacją i wdrożyć ją za darmo na Heroku lub cokolwiek innego. Bierze pod uwagę, że X-Forwarded-For
może zawierać rozdzielaną przecinkami listę adresów IP proxy i zwraca tylko adres IP klienta.
# config.ru
run lambda { |env|
remote_ip = env['HTTP_X_FORWARDED_FOR'] || env['REMOTE_ADDR']
remote_ip = remote_ip.scan(/[\d.]+/).first
[200, {'Content-Type'=>'text/plain'}, [remote_ip]]
}
Używam curl:
my_ip = `curl http://ipecho.net/plain`
nie używać Ruby stdlib i wymaga curl chociaż.
Bez skrobania!
Używam ipify, otwartego api, który zwraca twój publiczny adres IP. Przydatne, jeśli chcesz uzyskać odpowiedź jsona (nie pokazano tutaj).
require 'net/http'
public_ip = Net::HTTP.get URI "https://api.ipify.org"
=> "12.3.45.678"
Albo z curl:
public_ip = `curl https://api.ipify.org`
=> "12.3.45.678"
Nie denerwować się, to nie mój publiczny adres IP :)
Chciałbym skorzystać z usługi, takie jak http://www.whatsmyip.website/ programowo uzyskać adres IP . Używanie czegoś takiego jak zwinięcie Linuksa automatycznie po prostu zwróci IP, ale jeśli używasz innej aplikacji/języka, może zajść potrzeba sprawdzenia ich API.
ip = `curl http://www.whatsmyip.website`
Szukam tego samego problemu i znalazłem doskonałe rozwiązanie oparte API.
Aby uzyskać publiczny adres IP może możemy użyć poniższy kod:
require "net/http"
ip = Net::HTTP.get(URI("https://api.ipify.org"))
puts "My public IP Address is: " + ip
Url API strony: https://www.ipify.org/
Jest zbyt późno, aby asnwer na ten temat, ale myślałem, może to być halpful dla innych .
- 1. Uzyskaj publiczny adres IP na bieżącej instancji EC2
- 2. Azure Powershell: Uzyskaj publiczny wirtualny adres IP usługi
- 3. Uzyskaj adres IP użytkownika
- 4. Uzyskaj zdalny adres MAC poprzez IPv6
- 5. Uzyskaj adres IP klienta w Sinatrze?
- 6. Uzyskaj prawdziwy adres IP klienta w serwecie
- 7. Uzyskaj adres IP użytkownika w strukturze Zend
- 8. Uzyskaj adres IP za pomocą skryptu akcji?
- 9. Uzyskaj adres IP interfejsu w systemie Linux
- 10. Uzyskaj adres IP nadawcy z pakietu multiemisji
- 11. Uzyskaj lokalny adres IP w Qt
- 12. Uzyskaj adres IP z ciągu (Groovy)
- 13. Jak uzyskać zewnętrzny (publiczny) adres IP w Delphi
- 14. jak wykorzystać mój publiczny adres IP z HttpListener
- 15. Jak wskazać mój localhost na publiczny adres IP
- 16. Jak uzyskać publiczny adres IP w skrypcie powłoki?
- 17. Jak sprawdzić zdalny adres IP i port jest dostępny?
- 18. Jak przekazać zdalny adres IP do usługi Proxy? - Nginx
- 19. Zdalny adres IP z węzłem js za Amazonem ELB
- 20. Jak uzyskać adres zdalny klienta w serwlecie?
- 21. Uzyskaj adres IP serwera z JSP Żądanie/obiekt sesji
- 22. Uzyskaj prawdziwy adres IP w lokalnym środowisku programistycznym Rails
- 23. Uzyskaj poprawny lokalny adres IP z apletu Java
- 24. Uzyskaj aktualny adres IP klienta za zaporą, w języku Java
- 25. Uzyskaj adres IP podczas testowania aplikacji kolby przez testy nosem
- 26. Uzyskaj adres IP klienta w samohostowanym węźle SignalR
- 27. Uzyskaj adres IP klienta w serwisie internetowym RemObjects
- 28. Uzyskaj adres IP i opis adaptera za pomocą C#
- 29. WICKET: jak uzyskać adres IP/adres IP klienta
- 30. Jak uzyskać adres IP klienta pulpitu zdalnego?
Pobierz [whatismyip] (http://www.whatismyip.com/) i sparsuj. :) –
jakie informacje masz pod ręką? nazwa domeny?Jeśli użytkownik jest bezpośrednio połączony z serwerem .. to ip klienta jest publiczne IP – ShadyKiller
Gdzie jest uruchamiany kod na komputerze użytkownika końcowego? czy rozmawiają już z serwerem zewnętrznym (żądanie internetowe IE)? – Doon