我正在尝试与在每个请求中首先等待令牌的Web服务进行通信。有我的问题,Web 服务正在等待令牌通过file_get_contenst(php://input)
。
我没有找到一种方法来发送 cURL 请求(发送原始数据/放置数据而不是 Post(。有人可以指导我吗?
我尝试了类似的东西:
$fp = fopen('php://temp/maxmemory:256000', 'w');
fwrite($fp, TOKEN);
fseek($fp, 0);
curl_setopt($ch, CURLOPT_INFILE, $fp); // file pointer
curl_setopt($ch, CURLOPT_INFILESIZE, strlen($json));
curl_setopt($ch, CURLOPT_PUT, true);
有关更多信息,您可以参考: 如何在 PHP 中启动 GET/POST/PUT/DELETE 请求并判断请求类型?
- HTTP
PUT
方法通常用于更新资源。 - 首先需要带上(
GET
(资源信息。 - ,然后根据您的参数更新资源信息。
- 最后,向服务器发出
PUT
请求。
在 php 中,curl 用于进行 rest 调用。curl 直接支持 HTTP GET
和 POST
。但是对于 PUT 和 DELETE,您必须相应地设置选项curl_setopt()
$curl = curl_init($url);
**curl_setopt($curl,CURLOPT_CUSTOMREQUEST,"PUT")**;
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl,CURLOPT_POSTFIELDS,$update_para);
$curl_response = curl_exec($curl);