目前,我正在一个网站上工作,我需要从一些API中获取一些数据 当我创建一个Guzzle Request时,得到它给我的错误
“格式错误的UTF-8字符,可能编码有误”
$url = 'https://www.google.com/search?q=' . $this->domain;
$guzzleGet = $this->guzzle->get($url);
$google = $guzzleGet->getBody()->getContents());
$dom = HtmlDomParser::str_get_html($google); //This can't process the $google because of the Malformed UTF8
因此,我进行了一些研究,发现了一些应该起作用的方法。但是,它不起作用,看起来像是同一错误。现在我有了这段代码
$url = 'https://www.google.com/search?q=' . $this->domain;
$guzzleGet = $this->guzzle->get($url);
$type = $guzzleGet->getHeader('content-type');
$parsed = Psr7\parse_header($type);
$google = mb_convert_encoding($guzzleGet->getBody()->getContents(), 'UTF-8', $parsed[0]['charset'] ?: 'UTF-8');
$dom = HtmlDomParser::str_get_html($google);
我在做什么错?当我将$google
的内容转储到日志中时,对我来说看起来像是一些有效的HTML(按预期)