当前位置: 首页 > 知识库问答 >
问题:

调用API时解析正文时出错

淳于星宇
2023-03-14

我正在做一个OCR项目,我正在尝试使用vidado API。当我通过posman发送post请求时,它给出了正确的响应,但当我从php调用API时,它给了我以下错误

Client error: `POST https://api.vidado.ai/read/text` resulted in a `400 Bad Request` response: {"detail":"There was an error parsing the body"}

我的密码是

$client = new \GuzzleHttp\Client();
                $url   = "https://api.vidado.ai/read/text";

                $requestAPI = $client->post( $url, [
                    'headers' => [
                        'Accept' => 'application/json',
                        'Authorization' => 'my apikey',
                        'Content-Type' => 'multipart/form-data'
                    ],
                    'form_params' => [
                        'autoscale' => 'true',
                        'image'=> $img
                    ],
                ]);

有人注意到实际的错误吗?所以请给我一个方法。谢谢你。

共有1个答案

杨凌
2023-03-14

根据Guzzle文件

注意事项

Multipart不能与form_params选项一起使用。您将需要使用其中一个。对于应用程序/x-www-form-urlencoded请求使用form_params,对于多部分/form-data请求使用Multipart。

此选项不能与正文、form_params或 json 一起使用

因此,您不能将form_params与多部分/表单数据一起使用,并且必须以这种方式使用多部分方法

$client = new \GuzzleHttp\Client();
$url   = "https://api.vidado.ai/read/text";

$requestAPI = $client->request('POST', $url, [
    'headers' => [
        'Accept' => 'application/json',
        'Authorization' => 'my apikey',
        'Content-Type' => 'multipart/form-data'
    ],
    'multipart' => [
        [
            'name'     => 'image',
            'contents' => fopen('/path/to/file', 'r'),
            'filename' => 'custom_filename.jpg'
        ],
        [
            'name' => 'autoscale',
            'contents'=> true
        ]
    ]
]);
 类似资料:
  • 我使用DropBox API在Xamarin中实现Dropbox。表单(NET标准)。我上传文件成功,但下载时收到此错误 Dropbox。Api。BadInputException:调用API函数“文件/下载”时出错:错误的HTTP“Content-Type”标头:“Application/x-www-form-urlencoded”。期待“text/平原”、“text/平原;charset=ut

  • 我使用SOLR7完全解压缩windows文档文件。我有这个错误: 但是使用Solr5.5我没有错误,知道吗?

  • 问题内容: 我正在尝试将JSON文件读入R,但出现此错误: 我从http://1usagov.measuredvoice.com/下载了该文件,并使用7zip解压缩,然后在R中使用了以下代码: 我不确定为什么会发生此错误,我在Google上进行了查询,但没有任何信息可以帮助我?这是文件问题还是我的代码? 问题答案: 另一个更新 您可以使用该软件包来处理ndjson / streaming JSON

  • 我尝试使用DocumentBuilderFactory解析XML文件,如下所示: 其中ndsFileInputStream是一个InputStream,包装包含XML的文件。 当文件包含Unicode字符(如Δ)时,会出现异常。当我去掉包含违规字符的行时,解析工作正常。 该文件包含特征

  • 当xjc解析followinf xsd时,我得到了“Prolog中的错误” 我已经检查了xsd的有效性,没有发现任何错误。开始前没有字符也。。。

  • 我正在写一个查询谷歌日历事件的Lambda函数。虽然我成功地在Google Developers控制台上创建了凭据(客户机ID和客户机机密),但我无法访问这些事件。错误: {“error”:{“error”:[{“domain”:“usagelimits”,“reason”:“keyinvalid”,“message”:“bad request”}],“code”:400,“message”:“b