Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Os serviços de saída, como as APIs URL Fetch, Sockets e Mail, utilizam
um grande pool de endereços IP. Os intervalos de endereços IP nesse conjunto estão sujeitos a
alterações de rotina. Na verdade, duas chamadas de API sequenciais do mesmo aplicativo podem
parecer originadas de dois endereços IP diferentes.
É possível encontrar os intervalos de endereços IP atuais dos serviços do App Engine
com base nas informações de intervalos de IP que o Google publica:
O Google publica a lista completa de intervalos de IP que disponibiliza para usuários na Internet em goog.json.
O Google também publica uma lista de intervalos de endereços IP externos globais e regionais disponíveis para os recursos Google Cloud dos clientes em cloud.json.
Os endereços IP usados pelas APIs e serviços do Google se encaixam
na lista de intervalos calculados removendo todos os intervalos em cloud.json
daqueles em goog.json. Essas listas são atualizadas com frequência.
É possível usar o script Python a seguir para criar uma lista de intervalos de endereços IP que incluem aqueles usados pelas APIs e serviços do Google.
Para mais informações sobre como executar esse script, consulte Como
executar.
from__future__importprint_functionimportjsontry:fromurllibimporturlopenexceptImportError:fromurllib.requestimporturlopenfromurllib.errorimportHTTPErrorimportnetaddrIPRANGE_URLS={"goog":"https://www.gstatic.com/ipranges/goog.json","cloud":"https://www.gstatic.com/ipranges/cloud.json",}defread_url(url):try:returnjson.loads(urlopen(url).read())except(IOError,HTTPError):print("ERROR: Invalid HTTP response from %s"%url)exceptjson.decoder.JSONDecodeError:print("ERROR: Could not parse HTTP response from %s"%url)defget_data(link):data=read_url(link)ifdata:print("{} published: {}".format(link,data.get("creationTime")))cidrs=netaddr.IPSet()foreindata["prefixes"]:if"ipv4Prefix"ine:cidrs.add(e.get("ipv4Prefix"))if"ipv6Prefix"ine:cidrs.add(e.get("ipv6Prefix"))returncidrsdefmain():cidrs={group:get_data(link)forgroup,linkinIPRANGE_URLS.items()}iflen(cidrs)!=2:raiseValueError("ERROR: Could process data from Google")print("IP ranges for Google APIs and services default domains:")foripin(cidrs["goog"]-cidrs["cloud"]).iter_cidrs():print(ip)if__name__=="__main__":main()
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-02-06 UTC."],[],[]]