为什么逻辑应用程序 HTTP 请求在响应具有未知字符时失败
Why does Logic App HTTP request fail when response has unknown character
我有一个逻辑应用程序正在向 API 发出 HTTP GET 请求。 HTTP 失败并出现以下错误。
请求错误。由于内容无效,HTTP 请求失败:'Unable to translate bytes [9B] at index 790 from specified code page to Unicode.'
我可以使用 Postman 调用相同的 API 而不会出现任何错误,但是,我可以在响应中看到一些未知字符。
有谁知道如何使用 Azure 逻辑应用程序解决此问题?
此问题是由您的 api 的响应编码引起的,postman 会自动解析响应,但逻辑应用程序中的 HTTP 操作不会执行此操作。由于我不知道你的数据编码,所以只是提供一些建议供你参考。
1.请检查响应数据是否为UTF-8。如果没有,您可以使用如下代码来转换 api.
中的响应数据
UTF8.decode(response.bodyBytes)
2. 在您的 HTTP 操作中添加一个字段 Accept
headers.
Accept: text/html;charset=US-ASCII, text/html;charset=UTF-8, text/plain;
charset=US-ASCII,text/plain;charset=UTF-8
我有一个逻辑应用程序正在向 API 发出 HTTP GET 请求。 HTTP 失败并出现以下错误。
请求错误。由于内容无效,HTTP 请求失败:'Unable to translate bytes [9B] at index 790 from specified code page to Unicode.'
我可以使用 Postman 调用相同的 API 而不会出现任何错误,但是,我可以在响应中看到一些未知字符。
有谁知道如何使用 Azure 逻辑应用程序解决此问题?
此问题是由您的 api 的响应编码引起的,postman 会自动解析响应,但逻辑应用程序中的 HTTP 操作不会执行此操作。由于我不知道你的数据编码,所以只是提供一些建议供你参考。
1.请检查响应数据是否为UTF-8。如果没有,您可以使用如下代码来转换 api.
中的响应数据UTF8.decode(response.bodyBytes)
2. 在您的 HTTP 操作中添加一个字段 Accept
headers.
Accept: text/html;charset=US-ASCII, text/html;charset=UTF-8, text/plain;
charset=US-ASCII,text/plain;charset=UTF-8