2

我正在尝试与在每个请求中首先等待令牌的 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));
4

2 回答 2

7

curl_setopt($ch, CURLOPT_PUT, true);

有关更多信息,您可以参考:如何在 PHP 中启动 GET/POST/PUT/DELETE 请求并判断请求类型?

于 2013-10-08T20:09:37.017 回答
0
  1. HTTPPUT方法一般用于更新资源。
  2. 首先需要带(GET)资源信息。
  3. 然后根据您的参数更新资源信息。
  4. 最后,PUT向服务器发出请求。

在 php 中,curl 用于进行休息调用。HTTPGETPOSTcurl 直接支持。但是对于 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);
于 2016-03-04T10:48:34.767 回答