0

使用 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.......

任何线索任何人???

4

3 回答 3

2

我认为你应该用 GET 替换 PUT。

你应该考虑清理输入,trye

httpConn.request('GET','/ShazaamMon/setmfgdata.cgi?serial=%s' % (urllib.quote(hwSerialNum)))
于 2011-04-06T14:30:03.450 回答
1

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

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

尝试以下操作:

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

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

httpConn.request('GET','/ShazaamMon/setmfgdata.cgi?serial=' + str(hwSerialNum))
于 2011-04-06T14:30:24.547 回答
0

@Angelom 的回答简洁而正确。有关在 urllib 和 urllib2 中使用 PUT 的一个很好的示例说明,请尝试http://www.voidspace.org.uk/python/articles/urllib2.shtml#data

于 2011-04-06T17:32:56.047 回答