当 CURLOPT_HTTPHEADER 需要“Content-Length”时

2024-04-24

我的应用程序的客户端中有此代码:

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 
    'Content-Type: application/json', 
    'Content-Length:0 ' ) 
    ); 
$body = curl_exec($ch);

在服务器文件中:

$ch = curl_init($this->modelAddress);
$data = array("params"=>array("resource" => "artist","operation" => $operation,"params"=>$params));
$data_string = json_encode($data);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($data_string))                                                                       
);

它们是由两个不同的人制作的,我想问哪个是最正确的。
当使用'Content-Length:0'代替'Content-Length:'.strlen($data_string)更好。

这只是 POST/GET 方法的问题吗?
我在网上搜索了这方面的解释,但一无所获


如果您使用httpPUT使用curl,那么你必须指定Content-Length标头。否则,它会由两个卷曲自动处理GET and POST.

例如,如果您发布以下内容data与卷曲与CURLOPT_POSTFIELDS。然后curl会自动加上长度data与标题。

$data = "name=alex&email=none!";
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

为了更好地理解,请使用详细模式运行您的curl代码,您将看到它如何处理请求和响应。

curl_setopt($ch, CURLOPT_VERBOSE, true);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 CURLOPT_HTTPHEADER 需要“Content-Length”时 的相关文章

  • 如何在 PHP 5.6 中通过 php.ini 设置“verify_peer_name=false”SSL 上下文选项

    案例 我想打开 SSL 连接localhost而 SSL 证书是 FQDN 的问题 问题 没有进行特殊处理就行 下面的程序失败并显示以下消息 PHP Warning stream socket enable crypto Peer cert
  • 让我的函数访问外部变量

    我外面有一个数组 myArr array 我想让我的函数访问其外部的数组 以便它可以向其中添加值 function someFuntion myVal some processing here to determine value of m
  • PHP Laravel:未找到特征

    我在命名空间和使用方面遇到一些问题 我收到此错误 未找到特征 Billing BillingInterface 这些是我的 Laravel 应用程序中的文件 计费 php namespace Billing BillingInterface
  • 如何检查 ini_set() 是否在全局 PHP.INI 或我的 PHP 脚本中启用?

    我有一个应用程序安装失败 供应商说我可能禁用了 ini set 我怎样才能检查这个 我对此做了一些研究 结果发现有时 ini set 不会返回 FALSE 而是一个空字符串 gabriel1836 指出的 URL 中提到了这一点 检查它是否
  • Laravel 5 使用语句[重复]

    这个问题在这里已经有答案了 第一次使用 Laravel 5 我了解命名空间的使用以及为什么需要使用它们 我不明白的是为什么我需要添加如下所示的 use 语句 在控制器的顶部 use Session use Input use Respons
  • 对于每个...休息

    每次我 打破 for each 结构 PHP Javascript 时 我都感觉很脏 所以像这样 JavaScript 示例 for object in objectList if object test true do some proc
  • 使用 PhpSpreadsheet PHP 设置单元格边框样式

    我使用 PhpSpreadsheet 来读取或写入 Excel 文件 我想向我的 Excel 添加边框样式 所以我使用了以下代码
  • 通过 PayPal REST API 示例获得折扣?

    PayPal GURUS 我需要帮助 如何插入折扣 我使用 REST API 可能是某个 可以显示代码示例吗 有什么方法可以使用 PHP REST API 发送折扣金额吗 目前 REST 支付 API 不支持折扣 您最好的选择是计算您端的折
  • 将“Authorization Bearer”哈希添加到 Net::HTTP post 请求 (Ruby)

    我怎样才能添加Authorization Bearer到 POST 请求Net HTTP 我只能在文档中找到 基本身份验证 的帮助 req basic auth user pass Source https docs ruby lang o
  • 最好的 php DOM 2 数组函数是什么?

    我想解析xml文件 到目前为止 我发现最好的方法是使用 DOMDocument 类 示例 xml 字符串
  • 不允许在 php 中连接到此 MariaDB 服务器

    我尝试在 php 中连接远程服务器数据库 但出现以下错误 Host xx xxx xx xx is not allowed to connect to this MariaDB server in 我的连接代码是这样的 servername
  • 从 Mailgun 表单 Post PHP 中检索附件

    如何检索并保存通过 Mailgun 的 POST 表单发送给我的附件 下面是一些参数 attachment 1 filename gt crabby gif type gt image gif name gt attachment 1 te
  • Windows 8.1 升级后 Apache 无法工作 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 今天从 Windows 8 升级到 Windows 8 1 后 Apache 不再工作 我上次从 Windows 7 升级到 Window
  • 在PHP中根据日期显示图像

    在我的计算机上的某个位置 我有一个 PHP 脚本 用于根据日期显示图像 这将允许我在特定日期或选定日期之间显示不同的图像 并在当前日期未列出时显示默认日期要显示的特定图像 我最近的一个硬盘驱动器出现了问题 丢失了一堆文件 我担心这个脚本就是
  • 命令“tinker”未定义

    从 5 3 升级到 5 4 后 请按照说明操作 为了继续使用 Tinker Artisan 命令 您还应该安装 laravel tinker 软件包 composer require laravel tinker 安装软件包后 您应该添加
  • CakePHP 与 Bootstrap(来自 Twitter)

    我是 CakePHP 的新手 我想知道一种在与蛋糕结合的布局中使用 Twitter 的 Bootstrap 的方法 我主要关心的是让 Form Helper 继续正常运行 因为我认为它使用预先配置的 CSS 类 如果我更改默认的 css 我
  • MySQL“LIKE”搜索不起作用

    我通过 LOAD DATA INFILE 在 MySQL 中导入了一个 txt 数据库 一切似乎都正常 唯一的问题是 如果我使用以下查询在数据库上搜索记录 SELECT FROM hobby WHERE name LIKE Beading
  • PHP 根据需要添加额外的空格

    考虑以下代码 div div search php and category php本质上是相同的结构 具有一些特定内容的 div 容器 这里没什么特别的 纯 HTML div class component div 但是 当插入时requ
  • Laravel - 保存在存储文件夹中的图像不向用户显示

    我有这段代码可以将图像保存在 storage app uploads 文件夹中 image main Image where property id id gt get file request gt file file destinati
  • php strtotime“上周一”如果今天是周一?

    我想用strtotime last Monday 问题是 如果今天是星期一 它会返回什么 它似乎正在返回上周星期一的日期 在这种情况下我怎样才能让它返回今天的日期 如果您阅读手册 其中有一个很好的示例 它准确地描述了您想要执行的操作http

随机推荐