字典访问的KeyError但仍然返回正确的值?

时间:2015-07-07 18:00:41

标签: python http response keyerror

因此,目前Python的表现非常奇怪。我写了一个非常简单的服务器,旨在返回HTTP GET参数的值" url"。行为明智,这是按预期工作的;服务器使用密钥' url'来检索参数。并返回其值。但是,在输出时,Python解释器抛出了一个KeyError,说关键字是' url'不存在。

  File "/Users/me/Desktop/workspace/backend/ServerHandler.py", line 12, in getURL
  return dictionary['url']
  KeyError: 'url'

代码如下:

def dictify(self, full_path):
    return urlparse.parse_qs(urlparse.urlparse(full_path).query)

def getURL(self, full_path):
    dictionary = self.dictify(full_path)
    return dictionary['url']

def do_GET(self):
    self.send_response(200)
    self.send_header("Content-type", "text/html")
    self.end_headers()
    self.wfile.write(self.getURL(self.path))

以下是请求:http://localhost:5000/?val=4&url=Hello+World

但是,按照预期,结果是正确的。

enter image description here

虽然令人高兴的是结果是正确的,但我仍然对为什么会发生这种情况感到困惑。有任何想法吗?

0 个答案:

没有答案