首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >距离矩阵API中的UTF-8处理

距离矩阵API中的UTF-8处理
EN

Stack Overflow用户
提问于 2020-01-14 20:48:25
回答 1查看 101关注 0票数 0

我正在尝试编写一个VBA代码,它与Google的距离矩阵Api交互,并返回两点之间的距离。问题是,当我尝试使用拉丁字母(如ã)时,它返回一个Invalid Destination错误:

代码语言:javascript
运行
复制
    <status>INVALID_REQUEST</status>
    <error_message>Invalid request. Invalid 'destinations' parameter.</error_message>
</DistanceMatrixResponse>

我使用的Url是这样的:

https://maps.googleapis.com/maps/api/distancematrix/xml?units=metric&origins=Fortaleza&destinations=São+Paulo&key=" & myAPIK

你们知道怎么解决这个问题吗?

但是当我使用UTF-8代码而不是单词本身时,它会返回我想要的距离:

代码语言:javascript
运行
复制
https://maps.googleapis.com/maps/api/distancematrix/xml?units=metric&origins=Fortaleza&destinations=S%C3%A3o+Paulo&key=" & myAPIK

我也已经尝试在Url中输入语言(pt-BR),但不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-14 22:55:04

你会想看看实际的网页是如何工作的。

在Chrome中打开网页,然后在DevTools (F12)中查看请求流量,它将出现在网络选项卡上。

您必须在侧边栏中找到请求,按XHR进行过滤会有所帮助。

当您找到请求本身时,它将向您显示它是如何编码的。拉丁语不太可能是传输编码参数,而且在通过输入的JavaScript规范化发送请求之前,可能已经过滤了UTF-8。但是,除非您检查DevTools中的API,否则您将无法确定。

此外,如果您只是使用QueryString (也就是url中API参数的一部分)与API进行交互,则可能会发生urlencode。在圣保罗,你可以看到使用this website是如何工作的。在post/get API之前,您可能需要使用urlencode函数‘清理’您的输入。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59734117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档