任何人都可以告诉我如何删除此 Traceback(最近一次调用最后一次): python中的错误。我正在使用python 2.7.9
查看代码。
import requests
import optparse
parser = optparse.OptionParser()
parser.add_option("-f", '--filename', action="store" ,dest="filee")
options, args = parser.parse_args()
file = options.filee
fopen = open(file, 'r')
for x in fopen.readlines():
print "Checking for Clickjacking vulnerability\n"
url = x.strip('\n')
req = requests.get(url)
try:
print "[-]Target:" + url + " Not vulnerable\n The targeted victim has %s header\n" % (req.headers['X-Frame-Options'])
except Exception as e:
print "[+] Target:" + url +" Vulnerable to clickjacking"
成功运行代码后,我在结尾>>
时出现此错误Traceback (most recent call last):
File "C:\Python27\utkarsh3.py", line 17, in <module>
req = requests.get(url)
File "C:\Python27\lib\site-packages\requests\api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "C:\Python27\lib\site-packages\requests\api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python27\lib\site-packages\requests\sessions.py", line 494, in request
prep = self.prepare_request(req)
File "C:\Python27\lib\site-packages\requests\sessions.py", line 437, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File "C:\Python27\lib\site-packages\requests\models.py", line 305, in prepare
self.prepare_url(url, params)
File "C:\Python27\lib\site-packages\requests\models.py", line 379, in prepare_url
raise MissingSchema(error)
requests.exceptions.MissingSchema: Invalid URL '': No schema supplied. Perhaps you meant http://?
这让我非常恼火。我知道有很多人以前都在问这个问题。但我无法理解,所以我问。
请告诉我初学者如何处理这些错误?
答案 0 :(得分:2)
以eli5方式,Traceback
是程序在发生实际错误之前尝试执行的操作的日志。您的实际错误为requests.exceptions.MissingSchema
Invalid URL '': No schema supplied. Perhaps you meant http://?
后面的行描述了确切的问题。
File "C:\Python27\utkarsh3.py", line 17, in <module>
req = requests.get(url)
以上这些行描述了错误的开始位置。 所以,如果你去你的程序的第17行,你必须看到完全相同的行。
从这两件事中创建一个上下文,我得到的url是一个只有example.com
而不是http://example.com
的字符串或者那些行上的东西。
我只能推测你的代码可能是什么。但是,请随意提供您的代码片段以解释更多内容。
但是,希望这可以帮助您阅读未来的追溯。
Edit1:现在您已添加了代码段。尝试在url
之前打印requests.get(url)
,看看您到底想要达到的目标。并且,如果你有正确的架构前缀。