Guzzle 422无法处理的实体错误

弗拉德·文尼科夫(Vlad Vinnikov)

我正在使用browserstack屏幕截图API- https ://www.browserstack.com/screenshots/api以下卷曲正在工作:

curl -u "username:password" -H "Content-Type: application/json" -H "Accept: application/json"  -d '{"browsers": [{"os": "Windows", "os_version": "7", "browser_version": "8.0", "browser": "ie"}], "url": "http://google.com"}' http://www.browserstack.com/screenshots

但是,当我用相同的口哨尝试相同的呼叫时,出现422无法处理的实体错误。

$client = new GuzzleHttp\Client();
$request = $client->post('http://www.browserstack.com/screenshots', [
        'headers' => ['Content-type' => 'application/json'],
        'auth' =>  ['username', 'password']
]
);

$data = ['browsers' => ['os' => 'Windows', 'os_version' => '7', 'browser_version' => '8.0', 'browser' => 'ie'], 'url' => 'http://google.com'];
$request->setBody($data);
$response = $request->send();
dd($response);

您能建议如何调试此问题吗?

弗拉德·文尼科夫(Vlad Vinnikov)

我的方法有误。应该$client->createRequest代替,$client->post而且我在传递数据时犯了一个错误。浏览器应为数组数组

还有一个可以与browserstack和guzzle一起使用的库:https : //github.com/ksenzee/browserstack-screenshots-php

$client = new GuzzleHttp\Client();

$request = $client->createRequest('POST', 'http://www.browserstack.com/screenshots', [
        'headers' => ['Content-type' => 'application/json'],
        'auth' =>  ['user', 'pwd'],
        'body' => '{"browsers": [
                       {"os": "Windows", "os_version": "7", "browser_version": "8.0", "browser": "ie"},
                       {"os": "android", "os_version": "4.4", "device": "HTC One M8", "browser": "Android Browser"}
                ],
                "url": "http://www.lipsum.com"}'
]
);
$response = $client->send($request);
dd($response->json());

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法让 Guzzle 接受证书

Laravel 背包 - Guzzle 实例错误

FastAPI 端点返回“无法处理的实体”[错误代码:422]

如何从422无法处理的实体响应中获取错误消息

处理Guzzle异常并获取HTTP正文

Symfony - 在 yml 注册时 Guzzle 返回错误

无法通过Guzzle请求发送Cookie

尝试捕获语句无法捕获Guzzle Curl错误(Laravel)

SendAsync()返回422无法处理的实体

致命错误:即使在安装了Guzzle之后,在Laravel中也找不到类'Guzzle \ Http \ Client'

如何在Guzzle6中创建批处理请求?

如何处理Guzzle异步请求中的异常?

无法使用Angular将数据发布到Laravel 5控制器,错误:422无法处理的实体

使用Guzzle将错误从API Respose传递到Laravel视图

当Guzzle检测到400或500错误时,如何防止崩溃?

使用API密钥的Guzzle发布导致400错误请求

composer.phar guzzlehttp/guzzle 安装错误

无法使用 Guzzle 6.x 从 Twilio 获取 api 数据

Guzzle无法通过shopware5进行身份验证

无法让Guzzle强制为原始图像数据设置内容类型

无法通过 Amadeus API 使用 guzzle 发布请求

Onfido 沙箱错误 422 不可处理的实体验证

HTTPparams 422(不可处理实体)和 FastAPI 的 Angular 错误

Mapbox导航api返回422无法处理的实体

http.get()返回“ 422无法处理的实体”

从PowerShell脚本创建Zendesk Ticket失败:(422)无法处理的实体

RestTemplate-> Exchange产生:422无法处理的实体

使用快速API发布要求'422无法处理的实体'

PHP,Dropzone Laravel 5.1 422(无法处理的实体)