如何将luasocket中的主体作为二进制数据访问?

时间:2019-07-15 11:18:43

标签: lua luajit

此代码:

local client = require("socket.http")
local resp = client.request("some_server.com/some_image123.png")

如何获得响应的主体(作为二进制数据/图像)?这里不是“ resp”。

1 个答案:

答案 0 :(得分:0)

您知道吗,您读过manual了吗?

  

如果成功,则简单表单以字符串形式返回响应正文,后跟响应状态代码

我会带给您疑问的好处,并假设您确实不知道在哪里可以找到该信息,但是即使在Google上快速搜索“ luasocket参考”,也会使该页面显示出来。


编辑:或者也许您已经知道了,但是却没有意识到Lua中的字符串也是二进制数据的表示形式。与任何其他语言一样,Lua字符串只是底层的字节数组,但是例如C之外,它们可以包含 any 字节,包括$ knife solo prepare -VV <nodename> DEBUG: /bin/sh -c " if command -v curl >/dev/null 2>&1; then curl -L -o 'install.sh' 'https://www.opscode.com/chef/install.sh'; else wget -O 'install.sh' 'https://www.opscode.com/chef/install.sh'; fi; " 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0DEBUG: /bin/sh -c " if command -v curl >/dev/null 2>&1; then curl -L -o 'install.sh' 'https://www.opscode.com/chef/install.sh'; else wget -O 'install.sh' 'https://www.opscode.com/chef/install.sh'; fi; " stdout: Warning: Failed to create the file install.sh: Permission denied Warning: Failed to create the file install.sh: Permission denied DEBUG: /bin/sh -c " if command -v curl >/dev/null 2>&1; then curl -L -o 'install.sh' 'https://www.opscode.com/chef/install.sh'; else wget -O 'install.sh' 'https://www.opscode.com/chef/install.sh'; fi; " 51 23110 51 11925 0 0 18535 0 0:00:01 --:--:-- 0:00:01 18517 51 23110 51 11925 0 0 18535 0 0:00:01 --:--:-- 0:00:01 18517 DEBUG: /bin/sh -c " if command -v curl >/dev/null 2>&1; then curl -L -o 'install.sh' 'https://www.opscode.com/chef/install.sh'; else wget -O 'install.sh' 'https://www.opscode.com/chef/install.sh'; fi; " stdout: curl: (23) Failed writing body (0 != 11925) curl: (23) Failed writing body (0 != 11925) DEBUG: Initial command sudo bash install.sh -v 13.12.14 DEBUG: Running processed command sudo -p 'knife sudo password: ' bash install.sh -v 13.12.14 DEBUG: sudo -p 'knife sudo password: ' bash install.sh -v 13.12.14 stdout: bash: install.sh: No such file or directory bash: install.sh: No such file or directory ,因此您可以使用它们可以存储您想要的任何类型的二进制数据。