def censysapi (searchQuery): Api_url = "https://www.censys.io/api/v1" UID = "51645b5b-b129-499f-a008-c7cf602ed76b" SECRET = "Xjvptgyqmgnb8o8jdgyzzojw8mbk0rtt" datafirstforpage = {"Query": searchQuery, "page": 1, "Fields": []} resdata = Requests.post (Api_url + "/search/ipv4", Data=json.dumps (Datafirstforpage), auth= (UID, SECRE T), headers=headers) Resultforpage = Resdata.json () pages = int (resultforpage[' metadata ' [' pages ']) TRY:FO R page in range (1,pages+1): data = {"Query": searchQuery, "page": page, "Fields": ["IP", "Protocols"]} sleep (1) req = Requests.post (Api_url + "/SEARCH/IPV 4 ", Data=json.dumps (data), auth= (UID, SECRET)) Resforresult = Req.json () for result in resforresult[ "Results"]: print result[' IP ']+ ', ' +result[' Protocols '] EXCEPT:PASSCENSYSAPI ("baidu.com")
Python calls the Censys interface for IPv4 queries