← Alle guider

Udviklerværktøjer

Hent din offentlige IP i et script

Brug de udtrykkelige tekst- eller JSON-endpoints, gennemtving en adressefamilie, når det er nødvendigt, og håndtér fejl og forbrugsgrænser.

Vælg et udtrykkeligt endpoint

Brug /api/raw-ip til et tekstsvar. Brug /api/ip til JSON. Forsiden returnerer også ren tekst til curl og wget, men udtrykkelige API-stier gør et script uafhængigt af genkendelse af user agent. JSON-svaret indeholder family, ip og available.

Den returnerede IP er den offentlige afsenderadresse for netop den forespørgsel. Et script, der kører på en VPS, rapporterer VPS'ens forbindelse, ikke din bærbares. En container, VPN, proxy eller NAT-gateway kan også påvirke, hvad der vises.

# Plain text, with HTTP errors and timeouts handled
curl --fail --silent --show-error --max-time 10 https://myip.dk/api/raw-ip

# JSON over a chosen transport family
curl -4 --fail --max-time 10 https://myip.dk/api/ip
curl -6 --fail --max-time 10 https://myip.dk/api/ip

# PowerShell
(Invoke-RestMethod -Uri "https://myip.dk/api/ip" -TimeoutSec 10).ip

Gennemregnet eksempel: behold den sidste gode adresse

Forestil dig et planlagt job, der opdaterer en DNS-record, når din adresse ændrer sig. Hvis opslaget returnerer HTTP 429 eller får timeout, ville det at erstatte recorden med en tom streng gøre et midlertidigt opslagsproblem til et nedbrud. Betragt en fejl som “ingen ny observation”, behold den sidst kendte værdi, og prøv igen senere.

Validér den returnerede adresse med dit sprogs IP-parser, sammenlign den med den gemte værdi, og opdatér kun, når den er ændret. Kommandoerne ovenfor afsluttes med fejl ved HTTP-fejl; tjek den status, før du bruger deres output.

Tag højde for delte grænser

Adresse-endpoints deler en token bucket i hukommelsen pr. observeret klient-IP: plads til 20 forespørgsler ad gangen og en genopfyldning på 60 forespørgsler i timen. Adresseforespørgsler i tekst og JSON bruger den. DNS- og IP-opslag deler en separat bucket med plads til 60 og en genopfyldning på seks forespørgsler i minuttet. Browsere, scripts og andre personer bag samme offentlige IPv4 deler hver kvote. Et DNS-overblik bruger ti værktøjsforespørgsler, og en resolversammenligning bruger to.

Et 429-svar indeholder Retry-After i sekunder. Vent mindst så længe før en ny forespørgsel. Brug en timeout, vent længere efter gentagne fejl, og undgå tætte polling-løkker. En hændelse ved netværksskift eller et moderat planlagt interval er som regel mere nyttigt end at tjekke hvert sekund.

Forveksl ikke filtrering med valg af transport

Ruterne /api/ip/v4 og /api/ip/v6 validerer den observerede adressefamilie. Et suffiks i stien kan ikke tvinge din HTTP-klient til at vælge IPv4 eller IPv6. Brug curl -4 eller curl -6 til det. Browsertjek bruger separate værtsnavne, hvis DNS skal isolere den ønskede familie.

Hvis en proxy sender den udgående forespørgsel på dine vegne, afgør det ikke nødvendigvis proxyens forbindelse til vores tjeneste, at du gennemtvinger klientens forbindelse til proxyen. Tolk resultatet ud fra den netværksrute, du har konfigureret.

Læs mere og kilder

← Se alle guiderTjek din forbindelse →