cviebrock / guzzle-stripbom-plugin
用于从服务器响应中删除BOM的Guzzle插件
0.1.3
2013-09-24 02:34 UTC
Requires
- php: >=5.3.2
- guzzle/guzzle: >=3.7.3
This package is auto-updated.
Last update: 2024-09-05 18:13:05 UTC
README
用于从Guzzle服务器响应中删除BOM的插件。
用法
在你的项目 composer.json
文件中
"require": {
"cviebrock/guzzle-stripbom-plugin": "0.1.*",
}
在你的代码中
$client = new Guzzle\Http\Client('http://example.com'); $client->addSubscriber( new Cviebrock\Guzzle\Plugin\StripBom\StripBomPlugin() ); $request = $client->get('some/request'); $response = $client->send($request); $data = $response->json();
为什么?
某些API服务(主要是.NET服务)在它们的响应体中包含一个BOM。BOM是2-4个字节,指示响应使用哪种字符编码(例如UTF8)。问题是PHP的json_decode()
函数和SimpleXML
类在尝试解析包含BOM的字符串时会失败。如果你在处理请求时收到“无法解析JSON”的错误,但看起来像是JSON,这很可能是原因。
此插件在执行任何JSON/XML解析之前,会删除这些字节。
有赞?问题?投诉?
请使用问题跟踪器。