Как выполнить цикл для api

#python #python-3.x

#питон #python-3.x

Вопрос:

 #!/usr/bin/env python3
# -*- coding: utf-8 -*-

import requests

print('33[32m' """
*************************************
*                                   *
* @xx                               *
*************************************
""" 'x1b[0m')

apiKeyim = "7364056d604e5d20156aea759aca32111afe370e"
urlM = "http://pro.viewdns.info"

class viewDns:
    def __init__(self):
        self.api_url = urlM
        self.api_key = apiKeyim

    def revIp(self, domain):
        response = requests.get(f"{self.api_url}/reverseip/?host={domain}amp;apikey={self.api_key}amp;output=json")
        return response.json()

vD = viewDns()

while True:
    mSec = input("1- Reverse IP Lookupn2- ExitnSelect: ")

    if mSec == "2":
        break
    else:
        if mSec == "1":
            siteList = input("Site Listesi Dosyası : ")

            listemiz = open(siteList, "r")
            sitever = listemiz.read()
            listemiz.close()
            for i in sitever.split("n"):
                domain = str(i)
            dom = vD.revIp(domain)
            try:
                for d in dom["response"]["domains"]:
                    dosya = open(domain "_revIp.txt", "a", encoding='utf-8')
                    dosya.write(d['name'] 'n')
                    dosya.close()
                print("33[91m33[1mSaved to file : " domain "_revIp.txtx1b[0m")
            except KeyError:
                print("33[91m33[1mDomain not detected.!x1b[0m")
        else:
            print("33[91m33[1mIncorrect Selection.x1b[0m".center(50,'*'))
 

Я получаю сообщение об ошибке «Домен не обнаружен.!», и это работает не так, как я хочу,

Я хочу, чтобы он выполнял «Обратный поиск» для каждого из доменов в текстовом формате, и ему необходимо экспортировать результат в виде текстового текста.

Поскольку он может сканировать один домен с помощью API, мне нужно выполнить цикл для каждой строки в текстовом формате

Комментарии:

1. вероятно, что-то не так, когда в rev(); вы уверены, что URL-адрес f-string правильный?

2. apiKeyim = «7364056d604e5d20156aea759aca32111afe370e» не следует хранить в секрете?

3. http : //pro.viewdns.info —-> https ://pro.viewdns.info ??

4. Срок действия apikey истек, и это не проблема

5. отступ здесь: для i в sitever.split(«n»): domain = str(i) dom = vD.revIp(домен) попробуйте: для d в dom[«response»][«domains»]: dosya = open(dom

Ответ №1:

 
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import requests

print('33[32m' """
*************************************
*                                   *
* @xx                               *
*************************************
""" 'x1b[0m')

apiKeyim = "7364056d604e5d20156aea759aca32111afe370e"
urlM = "https://pro.viewdns.info"

class viewDns:
    def __init__(self):
        self.api_url = urlM
        self.api_key = apiKeyim

    def revIp(self, domain):
        response = requests.get(f"{self.api_url}/reverseip/?host={domain}amp;apikey={self.api_key}amp;output=json")
        return response.json()

vD = viewDns()

while True:
    mSec = input("1- Reverse IP Lookupn2- ExitnSelect: ")

    if mSec == "2":
        break
    else:
        if mSec == "1":
            siteList = input("Site Listesi Dosyası : ")

            listemiz = open(siteList, "r")
            sitever = listemiz.read()
            listemiz.close()
            for i in sitever.split("n"):
                domain = str(i)
                dom = vD.revIp(domain)
                try:
                  for d in dom["response"]["domains"]:
                    dosya = open(domain "_revIp.txt", "a", encoding='utf-8')
                    dosya.write(d['name'] 'n')
                    dosya.close()
                    print("33[91m33[1mSaved to file : " domain "_revIp.txtx1b[0m")
                 except KeyError:
                    print("33[91m33[1mDomain not detected.!x1b[0m")
         else:
                     print("33[91m33[1mIncorrect Selection.x1b[0m".center(50,'*'))
 

Комментарии:

1. Я не мог понять, где вы внесли изменения в код

2. отступ, теперь файл идентичен, tomerikoo отредактировал ваш вопрос (я полагаю), который вы можете использовать meldmerge.org чтобы сравнить файл или разницу geeksforgeeks.org/diff-command-linux-examples

3. Я уже проверял с помощью diff раньше, не вижу никаких изменений, а также есть проблема с выравниванием

4. отсюда: dom = vD.revIp(домен)

5. то же, что и в предыдущем