小编gns*_*ank的帖子

使用 Flurl 发布“multipart/form-data”

我需要发布以下请求:

POST http://target-host.com/some/endpoint HTTP/1.1
Content-Type: multipart/form-data; boundary="2e3956ac-de47-4cad-90df-05199a7c1f53"
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Content-Length: 6971
Host: target-host.com

--2e3956ac-de47-4cad-90df-05199a7c1f53
Content-Disposition: form-data; name="some-label"

value
--2e3956ac-de47-4cad-90df-05199a7c1f53
Content-Disposition: form-data; name="file"; filename="my-filename.txt"

<file contents>
--2e3956ac-de47-4cad-90df-05199a7c1f53--
Run Code Online (Sandbox Code Playgroud)

我可以使用 Pythonrequests库轻松完成此操作,如下所示:

import requests

with open("some_file", "rb") as f:
    byte_string = f.read()

requests.post(
    "http://target-host.com/some/endpoint",
    data={"some-label": "value"},
    files={"file": ("my-filename.txt", byte_string)})
Run Code Online (Sandbox Code Playgroud)

有没有办法对Flurl.Http图书馆做同样的事情?

我的文档记录方式的问题是它将Content-Type为每个键值对插入filename*=utf-8''标头,并为文件数据插入标头。但是,我尝试向其发布请求的服务器不支持此功能。还要注意标题中namefilename值周围的双引号。

编辑:下面是我用来发出帖子请求的代码Flurl.Http

using System.IO;
using Flurl;
using Flurl.Http;

namespace ConsoleApplication
{
    public class Program
    { …
Run Code Online (Sandbox Code Playgroud)

c# post multipartform-data flurl

5
推荐指数
1
解决办法
3174
查看次数

从函数返回表的内部

可能重复:
在Lua中,如何将表用作varargs(...)?

我想做类似以下的事情,我想知道它是否与lua完全一致?

fun = function()
    some_table = {1,2,3}
    -- some dark magic here
    return 1,2,3
end

a, b, c = fun()
Run Code Online (Sandbox Code Playgroud)

如何转换{1,2,3}1,2,3从功能刚刚恢复?

谢谢

lua

3
推荐指数
1
解决办法
91
查看次数

Lua读取只读文件

这个问题不是关于读取lua文件,而是读取lua中只读的非可执行文件.

我有一个以下文件

10 awesome % ls -l /sys/class/backlight/intel_backlight/actual_brightness                                                                                      
-r--r--r-- 1 root root 4096 Dec 28 20:17 /sys/class/backlight/intel_backlight/actual_brightness
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用以下代码在lua中读取它时,我得到一个错误,即权限被拒绝.有人可以解释一下为什么吗?如何在不更改权限的情况下读取文件?

file = io.popen('/sys/class/backlight/intel_backlight/actual_brightness', 'r')
output = file:read('*all')
file:close()
Run Code Online (Sandbox Code Playgroud)

错误消息(与lua shell中输入的代码一起:

12 awesome % lua                                                                                                        
Lua 5.2.1  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> file = assert(io.popen('/sys/class/backlight/intel_backlight/actual_brightness', 'r'))
> sh: /sys/class/backlight/intel_backlight/actual_brightness: Permission denied
^C
Run Code Online (Sandbox Code Playgroud)

lua

3
推荐指数
1
解决办法
353
查看次数

标签 统计

lua ×2

c# ×1

flurl ×1

multipartform-data ×1

post ×1