为什么我的PUT请求失败?

0 投票
3 回答
695 浏览
提问于 2025-04-16 15:12

我在用Python 2.5和httplib......

我承认我对Python还不太熟悉.....但这看起来很简单,为什么不行呢?

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

@Angelom的回答简洁明了,也很准确。如果你想要一个包含很多例子的详细解释,关于如何在urllib和urllib2中使用PUT方法,可以查看这个链接:http://www.voidspace.org.uk/python/articles/urllib2.shtml#data

2

我觉得你应该把PUT换成GET。

你还应该考虑清理输入数据,试试看。

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

HTTP 404的意思是你请求的资源不存在。你确定这个网址是正确的吗?

另外,你在请求的主体部分(request()的第三个参数)放了一个我认为是请求参数的变量。

试试下面这个:

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

或者,也许(如果需要用GET而不是PUT):

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

撰写回答