{"id":27353,"date":"2021-05-14T09:40:00","date_gmt":"2021-05-14T06:40:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27353"},"modified":"2021-10-18T04:14:35","modified_gmt":"2021-10-18T01:14:35","slug":"como-obter-geolocalizacao-de-ip-em-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/como-obter-geolocalizacao-de-ip-em-php\/","title":{"rendered":"Como obter geolocaliza\u00e7\u00e3o de IP em PHP"},"content":{"rendered":"<p>Voc\u00ea est\u00e1 procurando uma maneira de obter a geolocaliza\u00e7\u00e3o do usu\u00e1rio a partir do endere\u00e7o IP em PHP? Usando a geolocaliza\u00e7\u00e3o, voc\u00ea saberia onde os visitantes do seu site est\u00e3o localizados. Ele pode ser usado para o prop\u00f3sito do p\u00fablico-alvo. Com base na localiza\u00e7\u00e3o do usu\u00e1rio, voc\u00ea pode mostrar o conte\u00fado relevante para ele.<\/p>\n<p>Sabemos para localizar a posi\u00e7\u00e3o do usu\u00e1rio HTML5 Geolocation API est\u00e1 dispon\u00edvel. Mas essa API funciona com base em permiss\u00e3o. Ele abre um usu\u00e1rio e pede suas permiss\u00f5es, ent\u00e3o s\u00f3 funciona.<\/p>\n<p>Para superar esta situa\u00e7\u00e3o, existe um servi\u00e7o dispon\u00edvel que \u00e9 o <a href=\"https:\/\/ipstack.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ipstack<\/a>. Neste artigo, estudamos como obter geolocaliza\u00e7\u00e3o de IP em PHP usando o servi\u00e7o ipstack.<\/p>\n<h3>Obtenha uma chave de API<\/h3>\n<p>Para come\u00e7ar, voc\u00ea precisa primeiro se inscrever no <a href=\"https:\/\/ipstack.com\/product\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ipstack<\/a>. O ipstack fornece diferentes n\u00edveis de servi\u00e7os, desde o n\u00edvel gratuito at\u00e9 o n\u00edvel empresarial. Se voc\u00ea estiver usando este servi\u00e7o pela primeira vez, recomendamos que voc\u00ea escolha planos gratuitos primeiro. No momento em que escrevo este artigo, o servi\u00e7o gratuito permite 10.000 solicita\u00e7\u00f5es por m\u00eas. Isso significa que voc\u00ea pode verificar a geolocaliza\u00e7\u00e3o de 10000 IPs gratuitamente todos os meses.<\/p>\n<p>Depois de se registrar no ipstack, voc\u00ea obter\u00e1 sua chave de acesso. Essa chave \u00e9 necess\u00e1ria quando faremos uma chamada de API para ipstack.<\/p>\n<p>Abaixo est\u00e1 a captura de tela do seu painel ipstack onde voc\u00ea pode copiar a chave de acesso.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20620-60820fdb890eb.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20620-60820fdb890eb.png\" alt=\"Como obter geolocaliza\u00e7\u00e3o de IP em PHP\" ><\/a><\/p>\n<h3>Obtenha geolocaliza\u00e7\u00e3o de IP em PHP<\/h3>\n<p>Neste ponto, criamos uma conta com ipstack e obtivemos nossa chave de acesso. Agora podemos come\u00e7ar a usar seu servi\u00e7o e obter geolocaliza\u00e7\u00e3o do endere\u00e7o IP. Como precisamos fazer uma chamada de API para ipstack, usar\u00edamos PHP cURL para fazer uma chamada de API. O usu\u00e1rio tamb\u00e9m pode usar <a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-usar-o-guzzle-um-cliente-php-http-para-enviar-solicitacoes-http\/\" title=\"Guzzle em\">Guzzle em<\/a> vez de cURL.<\/p>\n<p>Digamos que precisamos encontrar a geolocaliza\u00e7\u00e3o de um IP &#8216;103.47.153.189&#8217;. Ent\u00e3o, vamos escrever o c\u00f3digo para ele conforme abaixo.<\/p>\n<pre><code>&lt;?php\n\/\/ set API Access Key\n$access_key = 'YOUR_ACCESS_KEY';\n\u00a0\n\/\/ set phone number\n$ip_address = '103.47.153.189';\n\u00a0\n\/\/ Initialize CURL:\n$ch = curl_init('http:\/\/api.ipstack.com\/'. $ip_address .'?access_key='. $access_key);\u00a0 \ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\u00a0\n\/\/ Store the data:\n$json = curl_exec($ch);\ncurl_close($ch);\n?&gt;<\/code><\/pre>\n<p>Em troca, voc\u00ea receber\u00e1 uma resposta como:<\/p>\n<pre><code>{  \n   \"ip\":\"103.47.153.189\",\n   \"type\":\"ipv4\",\n   \"continent_code\":\"AS\",\n   \"continent_name\":\"Asia\",\n   \"country_code\":\"IN\",\n   \"country_name\":\"India\",\n   \"region_code\":\"MH\",\n   \"region_name\":\"Maharashtra\",\n   \"city\":\"Pune\",\n   \"zip\":\"411001\",\n   \"latitude\":18.5333,\n   \"longitude\":73.8667,\n   \"location\":{  \n      \"geoname_id\":1259229,\n      \"capital\":\"New Delhi\",\n      \"languages\":[  \n         {  \n            \"code\":\"hi\",\n            \"name\":\"Hindi\",\n            \"native\":\"u0939u093fu0928u094du0926u0940\"\n         },\n         {  \n            \"code\":\"en\",\n            \"name\":\"English\",\n            \"native\":\"English\"\n         }\n      ],\n      \"country_flag\":\"http:\/\/assets.ipstack.com\/flags\/in.svg\",\n      \"country_flag_emoji\":\"ud83cuddeeud83cuddf3\",\n      \"country_flag_emoji_unicode\":\"U+1F1EE U+1F1F3\",\n      \"calling_code\":\"91\",\n      \"is_eu\":false\n   }\n}\n<\/code><\/pre>\n<p>Voc\u00ea pode ver quantas informa\u00e7\u00f5es podemos obter apenas enviando um endere\u00e7o IP. Estamos quase obtendo todas as informa\u00e7\u00f5es de que precisamos do IP. Um usu\u00e1rio tamb\u00e9m pode enviar v\u00e1rios IPs separados por v\u00edrgula.<\/p>\n<p>Esperamos que voc\u00ea possa aprender como obter Geolocaliza\u00e7\u00e3o de IP em PHP. Gostar\u00edamos de ouvir sua opini\u00e3o na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/p>\n<h4>Artigos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/encontre-geolocalizacao-usando-endereco-ip-gratuitamente-em-php\/\" title=\"Encontre geolocaliza\u00e7\u00e3o usando endere\u00e7o IP gratuitamente em PHP\">Encontre geolocaliza\u00e7\u00e3o usando endere\u00e7o IP gratuitamente em PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/mailboxlayer-uma-api-gratuita-e-poderosa-para-verificar-se-o-e-mail-e-valido-e-mail-real\/\" title=\"mailboxlayer - uma API gratuita e poderosa para verificar se o e-mail \u00e9 v\u00e1lido (e-mail real)\">mailboxlayer &#8211; uma API gratuita e poderosa para verificar se o e-mail \u00e9 v\u00e1lido (e-mail real)<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/kickbox-uma-biblioteca-de-verificacao-de-e-mail-em-tempo-real-para-php\/\" title=\"Kickbox - Uma biblioteca de verifica\u00e7\u00e3o de e-mail em tempo real para PHP\">Kickbox &#8211; Uma biblioteca de verifica\u00e7\u00e3o de e-mail em tempo real para PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea est\u00e1 procurando uma maneira de obter a geolocaliza\u00e7\u00e3o do usu\u00e1rio a partir do endere\u00e7o IP em PHP? Usando a geolocaliza\u00e7\u00e3o, voc\u00ea saberia onde est\u00e1 seu site &#8230;<\/p>\n","protected":false},"author":1,"featured_media":20621,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[278],"tags":[848],"class_list":["post-27353","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-9","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27353","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=27353"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27353\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/20621"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=27353"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=27353"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=27353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}