Http PUT请求:什么是基本语法?

Qqw*_*qwy 0 rest tcp http localhost put

在Max/MSP模块中,我有一个简单的Tcp客户端,可以将数据发送到服务器.我想用它来发送PUT请求到我的MIDI/OSC控制器(Eigenharp).它要求PUT请求打开其中一个灯.

现在,以下在cURL中有效:

curl http://localhost:1024/column/1/row/5 -X PUT --data green
Run Code Online (Sandbox Code Playgroud)

然而,

如何使用基本的TCP流完成类似的操作,而无需任何额外的库?

ber*_*eal 6

这是一种通用的方法来解决它(可以说是一个抹子而不是鱼):

第一,

> nc -l -p 7070
Run Code Online (Sandbox Code Playgroud)

这将开始监听tcp端口7070.然后(从一个单独的shell)

> curl http://localhost:7070/column/1/row/5 -X PUT --data green
Run Code Online (Sandbox Code Playgroud)

之后nc将打印如下:

PUT /column/1/row/5 HTTP/1.1
User-Agent: (Some curl info here)
Host: localhost:7070
Accept: */*
Content-Length: 5
Content-Type: application/x-www-form-urlencoded

green
Run Code Online (Sandbox Code Playgroud)

这或多或少是您需要通过套接字发送的内容.

您可以使用与网络瑞士军刀相同的nc(netcat)实用程序来发送数据:

> cat request.txt | nc host port
Run Code Online (Sandbox Code Playgroud)

也就是说,HTTP RFC是你最好的朋友.