我正在尝试使用Curl向URL发出POST请求,但是收到此错误?

Aqi*_*Aqi 9 curl

错误:

请求实体太大请求的资源/check.php不允许具有POST请求的请求数据,或者请求中提供的数据量超出容量限制.

Whar可能是造成这个错误的原因?我认为数据大小不是原因,我知道./check.php接受POST方法.它是否像某些安全漏洞一样?

问候,aqif

Ger*_*oki 15

如果您真的想使用POST,那么您将按此顺序使用CURLOPT_POST和CURLOPT_POSTFIELDS.结果也很方便调试.

<?php 

$params=array(
  'a'=>'text1',
  'b'=>'text2'
);

$curl=curl_init();

curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);

$result=curl_exec($curl);

print $result;
Run Code Online (Sandbox Code Playgroud)

编辑:只是一个注释,如果你想发送没有参数的帖子,使用一个空数组.空字符串会破坏卷曲.


Pis*_*3.0 1

嗯,这个错误响应绝对不是安全措施。RFC 2616是这样说的413 Request Entity Too Large

服务器拒绝处理请求,因为请求实体大于服务器愿意或能够处理的实体。服务器可以关闭连接以阻止客户端继续请求。

确认尺寸不是问题吗?许多网络主机的 POST 上传限制相当小(很少有东西会抛出 413)。

否则,可能是 PHP 脚本本身返回此响应(通过header())。