cviebrock/guzzle-stripbom-plugin

用于从服务器响应中删除BOM的Guzzle插件

0.1.3 2013-09-24 02:34 UTC

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解析之前,会删除这些字节。

有赞?问题?投诉?

请使用问题跟踪器