详解HTTP GET请求

实例1:NodeMcu通过TCP实现HTTP GET请求(无请求主体)

srv = net.createConnection(net.TCP, 0)
srv:on("receive", function(sck, c) print(c) end)
srv:connect(80,"fanyi.youdao.com")
srv:on("connection", function(sck, c)

  sck:send("GET /openapi.do?keyfrom=NodeMcu&key=1067687977&type=data&doctype=json&version=1.1&q=good HTTP/1.1\r\nHost: fanyi.youdao.com\r\n\r\n")

end)

GET请求无主体


Wireshark

实例2:NodeMcu通过TCP实现HTTP POST请求(有请求主体)

srv = net.createConnection(net.TCP, 0)
srv:on("receive", function(sck, c) print(c) sck:close() end)
srv:connect(80,"www.tuling123.com")
srv:on("connection", function(sck, c)

--%E4%BD%A0%E5%A5%BD为汉字“你好”的UTF8编码    
    json = cjson.encode( {key="d6f699f259941e09ac06ecee6001d584",info="%E4%BD%A0%E5%A5%BD",userid="123456"} )

    length = string.len(json)
    
        sck:send("POST /openapi/api  HTTP/1.1\r\nHost: www.tuling123.com\r\nContent-length: "..length.."\r\nConnection: close\r\n\r\n"
          ..json.."\r\n")
end)

GET请求有主体


Wireshark

以下内容引自《HTTP权威指南》

1. URL

URL


注:详情请参阅《HTTP权威指南》第二章:URL与资源

2. HTTP报文

2.1 HTTP报文格式

HTTP报文

2.2 HTTP报文的组成

HTTP报文的组成

2.3 简单报文实例

简单报文实例

注:详情请参阅《HTTP权威指南》第三章:HTTP报文

更多精彩资讯,请扫码关注。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jiasike/article/details/51909389