问题描述
我正在尝试使用ruby从Google Dictionary API获取结果。它适用于非重音字符,但不适用于重音字符(即,如果您直接在浏览器的地址栏中输入网址)。 如果您使用的是chrome浏览器,则无论是带有重音还是没有重音都可以得到很好的答案。 我已经跳过了URI解析器无法使用以下代码将URL与重音符号链接的问题
DOMNode
我得到一个空的响应,而使用浏览器时我得到了正确的响应。
有人可以建议一些解决方法吗?我在做什么错了?
解决方法
我没有深入addressable
宝石内部。
require "net/http"
require "json"
begin
uri = URI.parse(URI.encode('https://api.dictionaryapi.dev/api/v2/entries/pt-BR/há'))
p uri
rescue => error
p error
end
response = Net::HTTP.get(uri)
p JSON.parse(response)
=>
[
{
"word"=>"ha","phonetics"=>[{}],"meanings"=>[
{
"partOfSpeech"=>"undefined","definitions"=>[{"definition"=>"símb. de HECTARE.","synonyms"=>[],"antonyms"=>[]}]}
]
},{
"word"=>"hã","origin"=>"⊙ ETIM voc.onom.","meanings"=>[
{
"partOfSpeech"=>"interjeição","definitions"=>[
{
"definition"=>"expressa reflexão,esclarecimento,admiração.","antonyms"=>[]
}
]
}
]
}
]
,
感谢您提供所有到目前为止的答案,但是问题似乎出在API(不再由Google维护)上。 在上一个示例中,“hà”一词被转换为“ ha”,即删除了重音并且失去了语义,这是怎么回事。
我会尝试另一种方式。