Python ubuntu安装上的urllib2是urlencoding数据

Python ubuntu安装上的urllib2是urlencoding数据,python,urllib2,Python,Urllib2,这些正是我过去成功经营的路线。它一直有效 >>> import urllib2 >>> headers = {'Content-Type':'application/json; charset=utf-8'} >>> url = 'http://************************/login' #not the exact URL >>> r = urllib2.Request(url, headers) &g

这些正是我过去成功经营的路线。它一直有效

>>> import urllib2
>>> headers = {'Content-Type':'application/json; charset=utf-8'}
>>> url = 'http://************************/login' #not the exact URL
>>> r = urllib2.Request(url, headers)
>>> d = '{"username":"ranjith", "password":"ranjith"}'
>>> urllib2.urlopen(r, d).read()
但是在办公室的一台特定的ubuntu机器上,上面的代码并没有像预期的那样工作。问题似乎是发送到服务器的数据是urlencoded的,这是非常意外的。在服务器上打印请求体时,日志通常如下所示

request.body:{"username":"ranjith", "password":"ranjith"}
request.body:%7B%22username%22%3A%22ranjith%22%2C+%22password%22%3A%22ranjith%22%7D=
但是当从这台特定的计算机发出请求时

request.body:{"username":"ranjith", "password":"ranjith"}
request.body:%7B%22username%22%3A%22ranjith%22%2C+%22password%22%3A%22ranjith%22%7D=
至少可以说,这很奇怪。这可能是什么原因

我花了很多时间调试它,包括将python从源代码安装到这台计算机上。我也不能说这是在哪一层发生的。在此问题上的任何帮助都将不胜感激

具体问题(如果stackoverflow中有人认为该问题没有提出任何具体问题):

如何防止我办公室计算机上的urllib2对请求正文数据进行urlencoding


Python版本到处都是2.7.6

这个特定系统上的Python版本与您在其他地方使用的不同吗?安装了哪个版本?到处都是python2.7