0

这是我的代码:

import urllib
import re
import requests
import httplib
import socket
from colorama import *
from time import gmtime, strftime
  def hell():
    hcon = raw_input(Fore.RED + Style.BRIGHT + "Website: ")
    r = requests.get("http://" + hcon + "/phpmyadmin")
    r2 = requests.get("http://" + hcon + "/pma")
    if r.status_code == 404:
     print(strftime("[%H:%M:%S]", gmtime()) + " /phpmyadmin/ not found!") 
    elif r: 
     print(strftime("[%H:%M:%S]", gmtime()) + " /phpmyadmin/ successfully found! %s /phpmyadmin") % (hcon)
    elif r2:
     print(strftime("[%H:%M:%S]", gmtime()) + " /phpmyadmin/ successfully found! %s /pma") % (hcon)
    else:
     print(strftime("[%H:%M:%S]", gmtime()) + " nothing found, sorry! try another website.")

hell()

如您所见,如果页面 /phpmyadmin 或 /pma 存在于所选网站上,它将输出已成功找到,如果不存在,则会显示“未找到等”。

但是我收到了这个错误:unindent 与外部缩进级别不匹配,我以前的任何 python 脚本中都没有发生过这个错误。

我已尝试尽可能多地修复缩进,但我认为这不会解决它,有人可以帮忙吗?

4

5 回答 5

2

在您的情况下,hell方法定义必须位于根缩进级别。

于 2013-08-01T21:28:43.490 回答
0

从评论中复制,因为这现在是答案。

因此,您粘贴的代码不完整,因此我无法直接修复您遇到的错误。

当您有一行由 X 空格缩进,然后一些由 X+Y+Z 空格缩进,最后一行由 X+Y 空格缩进时,通常会显示您的错误。无论何时,Python 都会要求您回到与以前的级别相同的级别。例如:

def foo():
    print "hi!"
  return 42

请注意,return 语句的缩进是 2 个空格,但前一行没有缩进 2 个空格。这是不允许的,它需要缩进 4 个空格,或者将 print 语句移回在 2 个空格处对齐。

于 2013-08-01T21:36:41.743 回答
0

您有混合的空格和制表符。尝试在记事本或具有 8 个空格缩进级别的东西中打开您的代码,看看它是什么样子的。它绝对与您发布的内容不符,否则您将收到“意外缩进”错误而不是未缩进问题。

于 2013-08-01T21:37:55.013 回答
0

您需要修复 的缩进def hell()

import urllib
import re
import requests
import httplib
import socket
from colorama import *
from time import gmtime, strftime

def hell():
    hcon = raw_input(Fore.RED + Style.BRIGHT + "Website: ")
    r = requests.get("http://" + hcon + "/phpmyadmin")
    r2 = requests.get("http://" + hcon + "/pma")
    if r.status_code == 404:
        print(strftime("[%H:%M:%S]", gmtime()) + " /phpmyadmin/ not found!") 
    elif r: 
        print(strftime("[%H:%M:%S]", gmtime()) + " /phpmyadmin/ successfully found! %s /phpmyadmin") % (hcon)
    elif r2:
        print(strftime("[%H:%M:%S]", gmtime()) + " /phpmyadmin/ successfully found! %s /pma") % (hcon)
    else:
        print(strftime("[%H:%M:%S]", gmtime()) + " nothing found, sorry! try another website.")

hell()
于 2013-08-01T21:42:25.410 回答
0

def hell() 和下面的所有内容都应该少 1 个缩进。

于 2013-08-01T21:29:13.213 回答