为什么我的看跌请求失败?

时间:2011-04-06 14:26:44

标签: python http http-put

使用Python 2.5和httplib ......

我当然是一个蟒蛇新手.....但这似乎很直接,为什么这不起作用?

httpConn = HTTPConnection('127.0.0.1', 44789)
httpConn.request('PUT','/ShazaamMon/setmfgdata.cgi?serial=', hwSerialNum)
httpResp = httpConn.getresponse()

xmlResp = httpResp.read()

httpConn.close()

它会返回以下回复:<HTML><HEAD><TITLE>HTTP 404.......

任何人的线索???

3 个答案:

答案 0 :(得分:2)

我认为你应该用GET取代PUT。

您应该考虑清理输入,试试

httpConn.request('GET','/ShazaamMon/setmfgdata.cgi?serial=%s' % (urllib.quote(hwSerialNum)))

答案 1 :(得分:1)

HTTP 404表示您请求的资源不存在。您确定网址是否正确?

此外,您将请求的主体(request()的第三个参数)放入一个我认为是请求参数的变量。

尝试以下方法:

httpConn.request('PUT','/ShazaamMon/setmfgdata.cgi?serial=' + str(hwSerialNum))

或者可能(如果需要GET而不是PUT):

httpConn.request('GET','/ShazaamMon/setmfgdata.cgi?serial=' + str(hwSerialNum))

答案 2 :(得分:0)

@ Angelom的答案简明扼要。有关在urllib和urllib2中使用PUT的示例填充说明,请尝试http://www.voidspace.org.uk/python/articles/urllib2.shtml#data