xmlhttprequest - Emscripten XMLHttpRequest 调用的 C++ 端是什么?

标签 xmlhttprequest emscripten

我正在编写一个程序,我希望能够本地编译并使用 Emscripten 进行编译。作为该程序的一部分,我需要发出同步 HTTPS 请求。

如何在 C++ 中做到这一点? Javascript 方面是有道理的,但我不知道什么会编译为 XMLHttpRequest

最佳答案

您的问题有几个答案:

  1. 您可以使用 emscripten.h 中的一些方法,例如 emscripten_async_wget
  2. 您可以自己用 Javascript 编写一个方法并从 C++ 中调用它 https://emscripten.org/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html

但是问题在于您无法轻松地从 XMLHttpRequest 进行同步调用并取回二进制数据。如果 mime 类型指定二进制数据,Firefox OS 将不允许这样做。但是,您可以覆盖 mime 类型并自行将结果文本转换为类型化数组。它与此链接中的黑客技术相同。

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data?#Receiving_binary_data_in_older_browsers

乍一看,这听起来像是一个完美的解决方案,但如果您收到大量返回的数据,则必须将该字符数组转换为类型数组,这很慢。

关于xmlhttprequest - Emscripten XMLHttpRequest 调用的 C++ 端是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16987080/

相关文章:

javascript - Emscripten:用控制台(某种)替换提示

javascript - 将 C 编译为 wasm,使用与 WasmFiddle 相同的设置

javascript - XMLHttpRequest:实现拦截器问题

javascript - 在 asm.js 中的函数之间传递 double 组

flutter - Flutter,FutureBuilder快照错误: 'int'类型不是 'String'类型的子类型

javascript - 为什么我在这里看到 "origin is not allowed by Access-Control-Allow-Origin"错误?

c++ - 删除 "-s ONLY_MY_CODE=1"编译参数会导致 WebAssembly 程序中断

c++ - 是否可以像现在一样轻松地编译 Emscripten,但没有控制台和 emscripten Logo ?

javascript - 如何使用 XMLHttpRequest 使用适当的 Content-type header 发布 RDF 数据?

xmlhttprequest - 如何使Microsoft XmlHttpRequest荣誉缓存控制指令