0

httplib 的 Python 文档 ( http://docs.python.org/2/library/httplib.html ) 显示了 urllib.urlencode 参数键,前面有一个@符号。我在其他示例中看不到这一点。在这种情况下,@ 符号在做什么?

>>> import httplib, urllib
>>> params = urllib.urlencode({'@number': 12524, '@type': 'issue'})
>>> headers = {"Content-type": "application/x-www-form-urlencoded",
...            "Accept": "text/plain"}
>>> conn = httplib.HTTPConnection("bugs.python.org")
>>> conn.request("POST", "", params, headers)
4

1 回答 1

1

如您所见,它没有任何意义:

>>> import httplib, urllib
>>> params = urllib.urlencode({'@number': 12524, '@type': 'issue', '@action': 'show'})
>>> print params
'%40action=show&%40number=12524&%40type=issue'
>>> params = urllib.urlencode({'number': 12524, 'type': 'issue', 'action': 'show'})
>>> print params
'action=show&type=issue&number=12524'

它只是将特殊字符格式化为@http://bugs.python.org用作键的字符%40,他们使用它的原因是该站点引擎的内部...POST

于 2013-06-26T00:36:34.193 回答