Python 为什么我的Put请求失败?
使用Python2.5和httplib 我承认我是一个python新手……但这似乎很简单,为什么不起作用Python 为什么我的Put请求失败?,python,http,http-put,Python,Http,Http Put,使用Python2.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(
httpConn = HTTPConnection('127.0.0.1', 44789)
httpConn.request('PUT','/ShazaamMon/setmfgdata.cgi?serial=', hwSerialNum)
httpResp = httpConn.getresponse()
xmlResp = httpResp.read()
httpConn.close()
它返回以下响应:http404……
有什么线索吗?我想你应该用GET代替PUT 你应该考虑消毒输入,Tryy/P>
httpConn.request('GET','/ShazaamMon/setmfgdata.cgi?serial=%s' % (urllib.quote(hwSerialNum)))
我认为你应该用GET代替PUT 你应该考虑消毒输入,Tryy/P>
httpConn.request('GET','/ShazaamMon/setmfgdata.cgi?serial=%s' % (urllib.quote(hwSerialNum)))
http404
表示您请求的资源不存在。您确定URL是正确的吗
此外,您在请求的主体(request()的第三个参数)中放入了一个变量,我认为该变量是请求的一个参数
请尝试以下操作:
httpConn.request('PUT','/ShazaamMon/setmfgdata.cgi?serial=' + str(hwSerialNum))
或者(如果需要GET而不是PUT):
http404
表示您请求的资源不存在。您确定URL是正确的吗
此外,您在请求的主体(request()的第三个参数)中放入了一个变量,我认为该变量是请求的一个参数
请尝试以下操作:
httpConn.request('PUT','/ShazaamMon/setmfgdata.cgi?serial=' + str(hwSerialNum))
或者(如果需要GET而不是PUT):
@安杰洛姆的回答简洁而正确。关于如何在urllib和urllib2中使用PUT,请尝试一个很好的例子。@Angelom的回答简洁而正确。有关如何使用PUT-in-urllib和urllib2的详细说明,请尝试。您的浏览器对
http://127.0.0.1:44789/ShazaamMon/setmfgdata.cgi
?@eumiro将使用HTTP GET方法,与他想要使用的PUT方法不同。您的浏览器对http://127.0.0.1:44789/ShazaamMon/setmfgdata.cgi
?@eumiro将使用HTTP GET方法,与他想要使用的PUT方法不同。我可以将此URL输入到浏览器中:所有内容都正常工作,这意味着我可以查询设备并查看属性是否已更改。@Kevin如果在浏览器中输入,则使用GET请求。尝试我发布的第二行代码,看看它是否有效。stackoverflow被破坏,人们可以在发布后编辑他们的答案,以包含其他人的答案并获得投票……我尝试了“获取”我没有得到404响应,但是,设备属性也没有改变。我试着用“得到和得到”+“操作数和接收到的错误…我应该解释一下'hwSerialNum'是一个字符串。这会是一个问题吗?“+”产生:类型错误:一元+”的操作数类型错误:“str”我可以将此URL输入到浏览器中:并且一切正常,这意味着我可以查询设备并查看属性是否已更改。@Kevin如果在浏览器中输入,则使用GET请求。尝试我发布的第二行代码,看看它是否有效。stackoverflow被破坏,人们可以在发布后编辑他们的答案,以包含其他人的答案并获得投票……我尝试了“获取”我没有得到404响应,但是,设备属性也没有改变。我尝试了使用“+”操作数的GET&PUT,收到并出错……我应该解释一下“hwSerialNum”是一个字符串。这会有问题吗?“+”产生:类型错误:一元数+:“str”的操作数类型错误