狂饮422无法处理的实体错误
问题描述:
我使用browserstack截图API - https://www.browserstack.com/screenshots/api下面卷曲工作:狂饮422无法处理的实体错误
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);
你能提出如何调试这个问题吗?
答
我在方法中犯了一个错误。它应该是$client->createRequest
而不是$client->post
此外,我在传递数据时出错。浏览器应该是阵列
的阵列有可能与browserstack使用,狂饮的另一个库: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());
答
要将JSON发送到Screenshots API,您需要将其格式化为JSON字符串。
$client = new GuzzleHttp\Client();
$request = $client->post('http://www.browserstack.com/screenshots', [
'headers' => ['Content-type' => 'application/json'],
'auth' => ['username', 'access_key'],
'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"}'
]
);
然后,您将能够在BrowserStack Screenshots页面上查看进度。
有关如何使用Guzzle发送POST请求的指南,请参阅本文档 - https://media.readthedocs.org/pdf/guzzle/latest/guzzle.pdf。
你指出我在正确的方向,谢谢你的文档链接 – 2014-10-28 20:29:43