【问题标题】:Curl PHP - 400 Error The request could not be satisfiedCurl PHP - 400 错误无法满足请求
【发布时间】:2021-05-12 09:34:57
【问题描述】:

我尝试通过 curl 更新日期。我使用 put 语句。我不知道为什么,但每次获得400 错误。

$data = fopen("test.csv", "c");
$ch = curl_init("https://merchants-connector-importercom/key/test.csv");

curl_setopt($ch, CURLOPT_PUT, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch,CURLOPT_HTTPHEADER, 
array( "x-api-key: fffff","Content-Type: application/json")); 
     
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$content = curl_exec($ch);
var_dump($content);
$decodedJson = json_decode($content, true);
curl_close($ch);
var_dump($decodedJson);

当我尝试这个时,var_dump 会生成这个输出:

string(903) " 400 ERROR 请求不能被满足。我们不能 此时连接到此应用程序或网站的服务器。那里 可能是流量过多或配置错误。稍后再试, 或联系应用程序或网站所有者。如果您将内容提供给 客户通过 CloudFront,您可以找到故障排除步骤和 通过查看 CloudFront 文档来帮助防止此错误。 由 cloudfront (CloudFront) 生成的请求 ID: vvNW1rlJyfMLF0tl8Nu3GMGc5K-deL2Os2hb_RENbOsv-GwtUAureg==“空”

我做错了什么?

【问题讨论】:

  • 域应该是.com域吗?

标签: php api rest php-curl


【解决方案1】:

我找到了解决方案。问题是 csv.file 被设置为 curl 请求的普通文件。当你使用 curl 时,你需要设置一个 curlFile

 $cfile = new CurlFile($file,  'text/csv');
 $data = array('data-binary' => realpath($cfile->getFilename()));

【讨论】:

    猜你喜欢
    • 2017-03-04
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 2022-08-12
    • 2023-03-11
    • 1970-01-01
    • 2020-12-28
    • 2021-11-23
    相关资源
    最近更新 更多