code: def cmd_shodan(ip, no_cache, verbose, output):
      
  
      habucfg = loadcfg()
  
      if 'SHODAN_APIKEY' not in habucfg:
          print('You must provide a shodan apikey. Use the ~/.habu.json file (variable SHODAN_APIKEY), or export the variable HABU_SHODAN_APIKEY')
          print('Get your API key from https://www.shodan.io/')
          sys.exit(1)
  
      if verbose:
          logging.basicConfig(level=logging.INFO, format='%(message)s')
  
      data = shodan_get_result(ip, habucfg['SHODAN_APIKEY'], no_cache, verbose)
  
      output.write(json.dumps(data, indent=4))
      output.write('\n')
docs: Simple shodan API client.
  
      Prints the JSON result of a shodan query.
  
      Example:
  
      \b
      $ habu.shodan 8.8.8.8
      {
          "hostnames": [
              "google-public-dns-a.google.com"
          ],
          "country_code": "US",
          "org": "Google",
          "data": [
              {
                  "isp": "Google",
                  "transport": "udp",
                  "data": "Recursion: enabled",
                  "asn": "AS15169",
                  "port": 53,
                  "hostnames": [
                      "google-public-dns-a.google.com"
                  ]
              }
          ],
          "ports": [
              53
          ]
      }