http post完善 70/2 70/head 71/target/1 72/target/1 73/target/1
authorhcj <1224667075@qq.com>
Tue, 23 Apr 2024 08:27:27 +0000 (16:27 +0800)
committerhcj <1224667075@qq.com>
Tue, 23 Apr 2024 08:27:27 +0000 (16:27 +0800)
code/sdk/open_source/openharmony/third_party/lwip/src/apps/http/http_client.c

index 1b57cd3..4afebb3 100644 (file)
     "\r\n"
 #define HTTPC_REQ_11_PROXY_PORT_FORMAT(host, host_port, uri, srv_name) HTTPC_REQ_11_PROXY_PORT, host, host_port, uri, HTTPC_CLIENT_AGENT, srv_name
 
-
+//x-www-form-urlencoded
+//application/json
 ////////////////////////////////////////post报文///////////////////////////////////////////////////
 /* POST request basic */  
 #define HTTPC_REQ_11_POST "POST %s HTTP/1.1\r\n" /* URI */\
     "User-Agent: %s\r\n" /* User-Agent */ \
     "Accept: */*\r\n" \
-    "Content-Type: application/x-www-form-urlencoded\r\n" \
+    "Content-Type: application/json\r\n" \
     "Content-Length: %d\r\n" \
     "Connection: Close\r\n" /* we don't support persistent connections, yet */\
     "\r\n" \
     "User-Agent: %s\r\n" /* User-Agent */ \
     "Accept: */*\r\n" \
     "Host: %s\r\n" /* server name */ \
-    "Content-Type: application/x-www-form-urlencoded\r\n" \
+    "Content-Type: application/json\r\n" \
     "Content-Length: %d\r\n" \
     "Connection: Close\r\n" /* we don't support persistent connections, yet */ \
     "\r\n" \
     "%s"
       
-#define HTTPC_REQ_11_HOST_FORMAT_POST(uri, srv_name, arglen, args) HTTPC_REQ_11_HOST, uri, HTTPC_CLIENT_AGENT, srv_name, arglen, args
+#define HTTPC_REQ_11_HOST_FORMAT_POST(uri, srv_name, arglen, args) HTTPC_REQ_11_HOST_POST, uri, HTTPC_CLIENT_AGENT, srv_name, arglen, args
 
 typedef enum ehttpc_parse_state {
   HTTPC_PARSE_WAIT_FIRST_LINE = 0,
@@ -514,9 +515,11 @@ static int
 httpc_create_request_string(const httpc_connection_t *settings, const char* server_name, int server_port, const char* uri,
                             int use_host, char *buffer, size_t buffer_size)
 {
+   printf("httpc_create_request_string  use_post %d use_proxy %d use_host %dhost %d\r\n",settings->use_post,settings->use_proxy,use_host);
   if (settings->use_proxy) {
     LWIP_ASSERT("server_name != NULL", server_name != NULL);
-    if (server_port != HTTP_DEFAULT_PORT) {
+    if (server_port != HTTP_DEFAULT_PORT)
+     {
       return snprintf(buffer, buffer_size, HTTPC_REQ_11_PROXY_PORT_FORMAT(server_name, server_port, uri, server_name));
     } else {
       return snprintf(buffer, buffer_size, HTTPC_REQ_11_PROXY_FORMAT(server_name, uri, server_name));
@@ -529,13 +532,16 @@ httpc_create_request_string(const httpc_connection_t *settings, const char* serv
     if (settings->use_post)
     {
                  return snprintf(buffer, buffer_size, HTTPC_REQ_11_HOST_FORMAT_POST(uri, server_name, settings->arglen, settings->args));
+      printf("%s\r\n",buffer);
          }
     return snprintf(buffer, buffer_size, HTTPC_REQ_11_HOST_FORMAT(uri, server_name));
   } 
   else 
   {
+
     if (settings->use_post){
        return snprintf(buffer, buffer_size, HTTPC_REQ_11_FORMAT_POST(uri, settings->arglen, settings->args));
+      
     }
     return snprintf(buffer, buffer_size, HTTPC_REQ_11_FORMAT(uri));
   }
@@ -613,6 +619,7 @@ httpc_init_connection_common(httpc_state_t **connection, const httpc_connection_
   /* set up request buffer */
   req_len2 = httpc_create_request_string(settings, server_name, server_port, uri, use_host,
     (char *)req->request->payload, req_len + 1);
+  printf("%s\r\n",(char *)req->request->payload);
   if (req_len2 != req_len) {
     httpc_free_state(req);
     return ERR_VAL;