zoukankan      html  css  js  c++  java
  • post请求和get请求content_type的种类

    get请求的headers中没有content-type这个字段,post 的 content-type 有两种 :

      • application/x-www-form-urlencoded 
        这种就是一般的文本表单用post传地数据,只要将得到的data用querystring解析下就可以了
      • multipart/form-data 
        文件表单的传输,也是本文介绍的重点

    获取POST数据 
    前面已经说过,post数据的传输是可能分包的,因此必然是异步的。post数据的接受过程如下:

    exports.processClientInput=function(req,cb){
    method = req.method.toLowerCase();
    if(method==="post"){
    var urlstr="";
    var jsondata;
    req.addListener("data",function(postdata){
    urlstr+=postdata;

    });
    req.addListener("end",function(){
    jsondata = querystring.parse(urlstr);
    cb(null,jsondata);
    });
    }else if(method==="get"){
    var jsonData=urlLib.parse(req.url,true).query;
    cb(null,jsonData);
    }
    }
    第二个if就是get数据的解析方式。
    注意,对于非文件post数据,上面以字符串接收是没问题的,但其实 postDataChunk 是一个 buffer 类型数据,在遇到二进制时,这样的接受方式存在问题。

    但是现在的这种post处理数据的方式是解析不了form表单提交的数据的。

  • 相关阅读:
    mycat主要参数
    Linux上通过docker方式安装mysql
    Docker镜像拉取慢的解决方法
    mysql关联、子查询索引优化
    Mysql优化单表查询
    Mysql如何快速插入100万条记录?
    git连接到github
    git分支操作2
    git基本操作1
    git简介及安装(win10)
  • 原文地址:https://www.cnblogs.com/learnings/p/8044330.html
Copyright © 2011-2022 走看看