我正在编写一个程序,我希望能够本地编译并使用 Emscripten 进行编译。作为该程序的一部分,我需要发出同步 HTTPS 请求。
如何在 C++ 中做到这一点? Javascript 方面是有道理的,但我不知道什么会编译为 XMLHttpRequest
。
最佳答案
您的问题有几个答案:
- 您可以使用 emscripten.h 中的一些方法,例如
emscripten_async_wget
- 您可以自己用 Javascript 编写一个方法并从 C++ 中调用它 https://emscripten.org/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html
但是问题在于您无法轻松地从 XMLHttpRequest 进行同步调用并取回二进制数据。如果 mime 类型指定二进制数据,Firefox OS 将不允许这样做。但是,您可以覆盖 mime 类型并自行将结果文本转换为类型化数组。它与此链接中的黑客技术相同。
乍一看,这听起来像是一个完美的解决方案,但如果您收到大量返回的数据,则必须将该字符数组转换为类型数组,这很慢。
关于xmlhttprequest - Emscripten XMLHttpRequest 调用的 C++ 端是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16987080/