我正在尝试使用C#从捷克服务(mapy.cz)提供的API获取高度。这是JSFiddle中的JS示例。
var coords = SMap.Coords.fromWGS84(15, 50);
coords.getAltitude().then(altitudeResponse);
请求的内容类型为: application / x-base64-frpc
所以我的解决方案是在C#中创建FastRPC调用,通过base64对其进行编码并将其发送到服务器。我搜索了如何创建这样的电话,但没有运气。
有没有人建议如何解决这个问题?
非常感谢,
修改 我试图比较两个请求的有效负载:
yhECAWgLZ2V0QWx0aXR1ZGVYAVgCGEC4AgplXC1AGM91aIktS0lAOAEQ
yhECAWgLZ2V0QWx0aXR1ZGVYAVgCGEC4Agrlci1AGAsmNM7mQElAOAEQ
差异应该是呼叫的参数。这意味着,另一种可能的解决方案是构建此请求:
yhECAWgLZ2V0QWx0aXR1ZGVYAVgCGEC4Ag + [参数] + lAOAEQ
EDIT2:
另一个提示可能是here。
它生成FRPC调用并打印字节序列。
答案 0 :(得分:0)
对此有效载荷进行编码/解码 https://github.com/seznam/JAK/blob/master/util/frpc.js
编码的数据可以在控制台调用中显示
console.log(JAK.FRPC.parse(JAK.Base64.atob("your-payload")));
。将代码粘贴到任何example上时,可以轻松进行测试,因为可以直接在JSFiddle中对其进行调整。