之前写过两个socket封装的HTTP GET请求,可是知其然,不知所以然。这次写POST请求就有点懵逼了。
还是从大佬的文章出发:https://blog.csdn.net/a19881029/article/details/14002273
请求的格式如图,严格按照这个格式,否则服务器返回400
1、每个HTTP选项末尾都加\r\n
2、HTTP选项的末尾要加上一个空白行,所以末尾要\r\n\r\n
3、POST请求正文放在HTTP请求的最后
键值对:IMEI=%s&model=%s&modelDetail=%s¤tVersion=%s&operator=%d%02d&language=%s
sprintf(buf,"POST /phone/rom/active HTTP/1.1\r\nHost: %s\r\nConnection: close\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: %d\r\nAccept: */*\r\n\r\n%s\r\n", g_sale_domain, strlen(json), json);
json存放了格式化好的键值对。
选项说明
1、Connection 头(header) 决定当前的事务完成后&#x