繁体   English   中英

PUT 查询参数未在 PHP curl 请求中发送到服务器

[英]PUT query parameters not making it to server in PHP curl request

我正在尝试使用 PHP 和 curl 发送 PUT 请求,但我的查询参数似乎没有发送到 API。 日志验证请求是作为 PUT 进入的,但参数没有发出。 我遵循了我在互联网上可以找到的每个示例,这些示例描述了如何构建查询参数并手动构建它并使用 http_build_query 函数。 然后我使用 CURLOPT_POSTFIELDS 值添加参数。 我是否缺少使用 PUT 请求查询参数所需的内容?

与 POST 请求不同,PUT 请求需要指定您要发送到服务器的 Content-Length。 下面是一个例子:

// data to be sent
$post_data = "...soem data";

// so that you get response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// this is must for doing PUT
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($post_data)));

// Doing PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data ); 

如果在此之后仍然有问题,请通过启用详细模式运行 curl,它将向您显示 curl 操作的调试信息:

curl_setopt($ch, CURLOPT_VERBOSE, true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM