我有来自CMD的curl请求工作正常,但我需要将其转换为像下面的函数bt的php请求由于某种原因它没有这样做。为什么?
http://www.example.com/my_view?clef=author
我已将以下代码编写为php函数,但似乎失败了
响应代码405(方法不允许,我认为问题是PUT请求)
curl -i 'http://localhost:7557/presets/inform' -X PUT --data '{ "weight": 0, "precondition": "{\"_deviceId._SerialNumber\":\"C8Bsdsd5E372\"}", "configurations": [ { "type": "value", "name": "InternetGatewayDevice.Time.NTPServer1", "value": "ntp1.sddsd.com" }, { "type": "value", "name": "InternetGatewayDevice.Time.NTPServer3", "value": "ntp.dfdfkdshfksfd.org" } ] }'
405 Method Not Allowed
答案 0 :(得分:1)
你只是错过了CUSTOMREQUEST put
,见下文:
CURLOPT_CUSTOMREQUEST => 'PUT'
但是,您可能还需要将内容类型发送到服务器:
CURLOPT_HTTPHEADER => array('Content-Type: application/json','Content-Length: ' . strlen($$request)));
这应该确保请求是PUT
并且服务器知道期望JSON内容类型。