精华内容
下载资源
问答
  • 菜鸟世界 -flask 获取post数据

    千次阅读 2020-12-21 23:26:49
    1、content_type客户端在发送post请求时,相同的数据,可以使用不同的content_type 来发送,比如 application/json ,请求body体的内容就是{"a": "b", "c": "d"}而如果是以application/x-www-form-urlencoded 的方式...

    1、 content_type

    客户端在发送post请求时,相同的数据,可以使用不同的content_type 来发送,比如 application/json ,请求body体的内容就是{"a": "b", "c": "d"}

    而如果是以application/x-www-form-urlencoded 的方式,则body体的内容就是a=b&c=d

    content_type 不同,服务端则需要根据content_type来采取不同的解析方式

    2、 flask 获取post请求

    在flask框架里,对于前面两种content_type 的请求,在解析post数据时,并没有提供一个统一的方法,不仅如此,如果post数据中存在数组,还需要技术人员自己做更进一步的解析,这不免有些麻烦,为了方便,我编写一个了函数,提供一个统一的方法对这两种常见的请求进行解析,同时处理了请求数据中包含数组的情况

    代码如下:

    from flask import request

    def get_post_data():

    """

    从请求中获取参数

    :return:

    """

    data = {}

    if request.content_type.startswith('application/json'):

    data = request.get_data()

    data = json.loads(data)

    else:

    for key, value in request.form.items():

    if key.endswith('[]'):

    data[key[:-2]] = request.form.getlist(key)

    else:

    data[key] = value

    return data

    展开全文
  • django中使用POST方法 获取POST数据

    千次阅读 2019-08-19 16:36:02
    在django中获取post数据,首先要规定post发送的数据类型是什么。 1.获取POST中表单键值数据 如果要在django的POST方法中获取表单数据,则在客户端使用JavaScript发送POST数据前,定义post请求头中的请求数据类型: ...

    在django中获取post数据,首先要规定post发送的数据类型是什么。

    1.获取POST中表单键值数据

    如果要在django的POST方法中获取表单数据,则在客户端使用JavaScript发送POST数据前,定义post请求头中的请求数据类型:

    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    

    在django的views.py相关方法中,需要通过request.POST获取表单的键值数据,并且可以通过reques.body获取整个表单数据的字符串内容

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    if(request.method == 'POST'):
            print("the POST method")
            concat = request.POST
            postBody = request.body
            print(concat)
            print(type(postBody))
            print(postBody)
    

    相关日志:

    the POST method
    <QueryDict: {u'username': [u'abc'], u'password': [u'123']}>
    <type 'str'>
    username=abc&password=123
    

    2.获取POST中json格式的数据

    如果要在django的POST方法中获取json格式的数据,则需要在post请求头中设置请求数据类型:

    xmlhttp.setRequestHeader("Content-type","application/json");
    

    在django的views.py中导入python的json模块(import json),然后在方法中使用request.body获取json字符串形式的内容,使用json.loads()加载数据。

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    if(request.method == 'POST'):
            print("the POST method")
            concat = request.POST
            postBody = request.body
            print(concat)
            print(type(postBody))
            print(postBody)
            json_result = json.loads(postBody)
            print(json_result)
    

    相关日志:

    the POST method
    <QueryDict: {}>
    <type 'str'>
    {"sdf":23}
    {u'sdf': 23}
    
    展开全文
  • PHP获取POST数据的几种方法汇总

    万次阅读 2019-04-17 19:00:49
    一、PHP获取POST数据的几种方法 方法1、最常见的方法是:$_POST['fieldname']; 说明:只能接收Content-Type: application/x-www-form-urlencoded提交的数据 解释:也就是表单POST过来的数据 方法2、file_get_...

    一、PHP获取POST数据的几种方法

    方法1、最常见的方法是:$_POST['fieldname'];

    说明:只能接收Content-Type: application/x-www-form-urlencoded提交的数据
    解释:也就是表单POST过来的数据

    方法2、file_get_contents("php://input");

    说明:
    允许读取 POST 的原始数据。
    和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。
    php://input 不能用于 enctype="multipart/form-data"。
    解释:
    对于未指定 Content-Type 的POST数据,则可以使用file_get_contents(“php://input”);来获取原始数据。
    事实上,用PHP接收POST的任何数据都可以使用本方法。而不用考虑Content-Type,包括二进制文件流也可以。
    所以用方法二是最保险的方法

    方法3、$GLOBALS['HTTP_RAW_POST_DATA'];

    说明:
    总是产生 $HTTP_RAW_POST_DATA  变量包含有原始的 POST 数据。
    此变量仅在碰到未识别 MIME 类型的数据时产生。
    $HTTP_RAW_POST_DATA  对于 enctype="multipart/form-data"  表单数据不可用
    如果post过来的数据不是PHP能够识别的,可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,
    比如 text/xml 或者 soap 等等
    解释:
    $GLOBALS['HTTP_RAW_POST_DATA']存放的是POST过来的原始数据。
    $_POST或$_REQUEST存放的是 PHP以key=>value的形式格式化以后的数据。 
    但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST过来的数据取决于centent-Type的设置,即POST数据时 必须显式示指明Content-Type: application/x-www-form-urlencoded,POST的数据才会存放到 $GLOBALS['HTTP_RAW_POST_DATA']中

    二、演示

    1、PHP 如何获取POST过来的XML数据和解析XML数据

    比如我们在开发微信企业号时,如何处理用户回复过来的数据呢?
    文档:http://qydev.weixin.qq.com/wiki/index.php?title=%E6%8E%A5%E6%94%B6%E6%99%AE%E9%80%9A%E6%B6%88%E6%81%AF
    首先查阅文档,可知道:启用开发模式后,当用户给应用回复信息时,微信服务端会POST一串XML数据到已验证的回调URL

    假设该URL为 http://www.xxx.com 
    Http请求方式: POST
    http://www.xxx.com/?msg_signature=ASDFQWEXZCVAQFASDFASDFSS×tamp=13500001234&nonce=123412323

    POST的XML内容为:

    复制代码

    1 <xml>
    2    <ToUserName><![CDATA[toUser]]></ToUserName>
    3    <FromUserName><![CDATA[fromUser]]></FromUserName> 
    4    <CreateTime>1348831860</CreateTime>
    5    <MsgType><![CDATA[text]]></MsgType>
    6    <Content><![CDATA[this is a test]]></Content>
    7    <MsgId>1234567890123456</MsgId>
    8    <AgentID>1</AgentID>
    9 </xml>

    复制代码

    那么怎么接收这段内容呃?
    这时就可以用到:方法2(file_get_contents("php://input"))、方法3($GLOBALS['HTTP_RAW_POST_DATA'])

    方法2(file_get_contents("php://input")):

    1 //接收POST数据
    2 $input = file_get_contents("php://input");
    3 //提取POST数据为simplexml对象
    4 $xml = simplexml_load_string($input);
    5 var_dump($xml);

    方法3($GLOBALS['HTTP_RAW_POST_DATA'])

    1 $input = $GLOBALS['HTTP_RAW_POST_DATA'];
    2 libxml_disable_entity_loader(true);
    3 $xml = simplexml_load_string($input, 'SimpleXMLElement', LIBXML_NOCDATA);
    4 var_dump($xml);

     

     

    转自:http://www.jb51.net/article/61690.htm

    来源:https://www.cnblogs.com/lmaster/p/6364055.html

    展开全文
  • 获取POST数据

    千次阅读 2012-07-08 00:38:07
    cgi程序处理post、get方式的数据 如果页面的FOMR中的METHOD...若METHOD属性值是POST,CGI程序就从标准输入(stdin)中获取Form数据。 /* 从环境变量REQUEST_METHOD中得到METHOD属性值 */ pRequestMethod = get

    cgi程序处理post、get方式的数据

    如果页面的FOMR中的METHOD属性值是GET,CGI程序就从环境变量QUERY_STRING中获取Form数 据;若METHOD属性值是POST,CGI程序就从标准输入(stdin)中获取Form数据。

    /*   从环境变量REQUEST_METHOD中得到METHOD属性值   */
    pRequestMethod   =   getenv( “REQUEST_METHOD “);

    POST方式– if   (_stricmp(pRequestMethod, “POST “)==0)

    lenstr=getenv(“CONTENT_LENGTH”);

    if(lenstr==NULL || sscanf(lenstr,”%ld”,&len)!=1 || len>MAXLEN)

    printf(“<P>表单提交错误”);

    else{

    FILE *f;

    fgets(input,   len+1,   stdin);

    unencode(input+EXTRA,   input+len,   data);

    }

    GET方式– if   (_stricmp(pRequestMethod, “GET “)==0)

    p   =   getenv( “QUERY_STRING “);     /*从环境变量QUERY_STRING中得到Form数据*/

     

    CGI程序获取Form数据并经过处理后,还要向Web服务器返回一定的信息(如数据的处理结果等 )。为让Web服务器能正确理解所返回的是何种信息,CGI规定在输出的信息体前加上一个头部 信息,该头部信息由若干行ASCII文本构成,并用一个空行将头部信息与信息体隔开。例如要返 回HTML文档则头部信息为”Content-type: text/html”


    PHP获取POST数据的几种方法

    (一)表单POST方式提交情况下PHP获取POST数据

    $_POST 与 php://input可以取到值,$HTTP_RAW_POST_DATA 为空

    $_POST 以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换。

    php://input 可通过输入流以文件读取方式取得未经处理的POST原始数据

    (二)fsockopen提交POST数据下PHP获取POST数据

    $sock = fsockopen("localhost", 80, 

    $errno, $errstr, 30);  

    if (!$sock) die("$errstr ($errno)\n");  

    $data = "txt=" . urlencode("中") . 

    "&bar=" . urlencode("Value for Bar");  

    fwrite($sock, "POST /posttest/response

    .php HTTP/1.0\r\n");  

    fwrite($sock, "Host: localhost\r\n");  

    fwrite($sock, "Content-type: applicat

    ion/x-www-form-urlencoded\r\n");  

    fwrite($sock, "Content-length: " . 

    strlen($data) . "\r\n");  

    fwrite($sock, "Accept: */*\r\n");  

    fwrite($sock, "\r\n");  

    fwrite($sock, "$data\r\n");  

    fwrite($sock, "\r\n");  

    $headers = "";  

    while ($str = trim(fgets($sock,

     4096)))  

    $headers .= "$str\n";  

    echo "\n";  

    $body = "";  

    while (!feof($sock))  

    $body .= fgets($sock, 4096);  

    fclose($sock);  

    echo $body; 


    PHP获取POST数据结论:

    1. 用php://input可以很便捷的取到原始POST数据

    2. $HTTP_RAW_POST_DATA 仅在POST的Content-Type类型不为PHP识别时才有效

    如通常通过页面表单提交后的POST数据,不能通过$HTTP_RAW_POST_DATA提取到。因其编码类型属性(enctype属性)为 application/x-www-form-urlencoded、multipart/form-data。

    注:即使在页面内显性地改变enctype属性为PHP不可识别的类型,仍无效。因表单提交编码属性是表单限定,不可识别的类型将被认为按默认编码方式提交(即application/x-www-form-urlencoded)

    3. $_POST仅当数据按 application/x-www-form-urlencoded 类型提交时才能实现PHP获取POST数据。




    展开全文
  • ashx 获取post数据的方式

    千次阅读 2017-08-10 12:45:39
    终于,直到今天我才知道这个问题的解决方案 前台,原来我一直没错,是因为后台。 后台用 C# code ...context.Server.UrlDecode(context.Request.Form.ToString());...这种方式才能获取前台传过来的json数据
  • QWebView 拦截http请求,获取post数据

    千次阅读 2018-05-27 16:37:43
    实际业务中遇到一个需求:需要加载某个网页,待用户选择表单选项并提交之后,拦截HTTP请求,获取Post数据,加以修改 后重新提交请这求。查阅QT的官方文档,并没有找到相关功能可以实现,而网上这方面的资料也是少...
  • 此段cgi代码可以获取get和post两种请求传递给服务器的数据
  • flask获取post数据

    万次阅读 2014-09-10 16:53:13
    获取数据为 CombinedMultiDict([ImmutableMultiDict([]), ImmutableMultiDict([('content', u'{"appkey":"d0454485bc9b0f2756b8f03ef634fcc2","time":"2014-09-10 08:57:35","acc":"1","activity":"....
  • 并将post及get方法进行了封装,能够比较简单的调用。这里发出我自己写的源码。 在文件里面,数据的抓取为正则表达式方式抓取数据 实现的方式有。 1.根据文件中出现的字符进行抓取。 2。可以抓取前后2端的中间数据 3...
  • 使用request.getInputStream() 获取POST数据

    万次阅读 2016-08-22 16:31:30
    //获取post参数  StringBuffer sb = new StringBuffer() ;  InputStream is = request.getInputStream();  InputStreamReader isr = new InputStreamReader(is);  BufferedReader br = new BufferedReader(isr);...
  • C# 使用Get和Post请求获取数据

    热门讨论 2015-07-30 09:56:17
    C# 使用Get或Post请求获取数据 并解析获取到的Json数据
  • nodejs 获取post数据

    千次阅读 2013-04-27 12:53:43
    nodejs 获取post数据 demo的原理:使用java向nodejs发送post请求,并携带数据,nodejs收到请求,并将数据打印出来 nodejs服务器端代码: var http = require("http"); var url = require("url"); var ...
  • NodeJS http服务端获取POST请求数据

    千次阅读 2020-06-30 16:09:36
    获取请求数据 那么我们如何得到Post请求的数据呢?事实上,请求数据是以流的方式从客户端(浏览器)传到服务端的,但有数据到达时,req对象会产生一个data事件,但数据传输完毕时,req对象会产生一个end事件,因此...
  • C#获取get数据和post数据

    千次阅读 热门讨论 2018-08-09 17:06:15
    一、C#获取get数据,网页  private string GetData(string url)  {  HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);  myRequest.Method = "GET"; ...
  • java 获取post请求数据

    千次阅读 2019-04-13 17:06:32
    方式一 public static String getString(HttpServletRequest request)throws IOException{ BufferedReader reader = request.... logger.error("获取回调数据异常:" + e.getMessage()); } return notifyData; }
  • Node.js 获取post请求的数据

    千次阅读 2019-06-21 00:06:53
    了解http请求的小伙伴都知道,通过get方法请求的数据是...但为了安全考虑更多的请求是用post的方式请求的,这个时候我们应该怎么获取呢,答案如下: var http = require('http'); var querystring = require('qu...
  • PHP获取POST数据的三种方法

    千次阅读 2015-06-01 18:16:57
    方法一,$_POST 方法二,使用file_get_contents(“php://input”) 方法三,使用全局变量$GLOBALS['HTTP_RAW_POST_DATA']
  • PHP 获取post数据为空的一种解决方式

    千次阅读 2018-07-03 11:12:05
    结果由于自己可能长时间在框架下工作,导致出现了一个很初级的问题:PHP 获取post数据为空,如下图: $username = $_POST['username']; 这里的$username怎么取都取不到值,而Get在这里就完全没有问题,可以正常...
  • C# 获取POST数据

    千次阅读 2014-03-12 16:46:06
    在页面上获取POST数据: var inputStream = Request.InputStream; var strLen = Convert.ToInt32(inputStream.Length); var strArr = new byte[strLen]; inputStream.Read
  • express中并没有提供获取post提交方式的表单数据的API,所以我们需要用到第三方插件: 下载 $ npm install body-parser 加载 var bodyParser = require('body-parser') 配置 app.use(bodyParser.urlencoded...
  • Python 获取ajax的post请求数据

    千次阅读 2020-04-27 01:29:57
    Python 获取ajax的post请求数据 需求: 1 ajax的过程分析: 1.1 首先是这个店铺分类的url地址,来打开这个绘画session: 1.2 获取ajax发送需要的数据: 2.页面的分析 2.1当点击下一页时,会发现地址栏中url和页面没...
  • koa2中获取GET与POST数据

    千次阅读 2019-07-29 18:42:23
    怎么获取GET请求中的参数,以及怎么获取POST请求的数据? 在这里我使用了两个第三方包,koa-router 和 koa-bodyparser koa-router 路由中间件,顾名思义,用做路由管理。 安装方法: npm install koa-router...
  • PHP 获取 post 中的 json 数据

    千次阅读 2019-06-24 22:58:13
    ext 与 PHP 交互时,ext 把 json 数据 post 给 PHP,但在 PHP里面 $_post 获取不到,$_REQUEST 也获取不到,但是通过 firedebug 看到的请求信息确实是把 JSON 数据 post 给了 PHP。 想到以前通过flash将图片二进制...
  • springmvc获取表单post数据

    千次阅读 2018-02-28 22:14:14
    表单提交的数据也就是请求数据,分为Get和Post两种方式提交。 Controller中有三种方式获取表单数据:  Controller的方法,添加HttpServletRequst类型入参,通过HttpServletRequst.getParameter()获取请求数据...
  • 获取post请求的数据

    万次阅读 2017-06-22 00:07:59
    通常从http post请求获取数据的方法如下: 1.request.getInputStream() 2.request.getReader() 3.request.getParameterMap()系列 4.通过spring框架中的RequestBody或RequestParam public static ...
  • HttpServletRequestHttpServletRequest获取POST请求参数3种方法客户端通过HTTP POST多参数字符串,比如(username=51gjie&pwd=123456789),HttpServletRequest 获取到POST的参数有如下3种方法:request.getInpu.....
  • nodejs获取post请求和get请求的数据

    千次阅读 2019-07-30 02:28:22
    nodejs对于post请求和get请求的获取方式不一样。 1.get请求 用url模块处理req.url就能够获取get参数 var url = require("url"); //params就是get方法携带的参数 var params = url.parse(req.url, true).query...
  • nodeJS 获取post方式传值

    千次阅读 2019-09-07 11:14:53
    nodeJS 获取post方式传值 因为get的数据值在地址中,大小限制为32k,而post的数据值在内容里面保存,所以数据量大,因此post传值为一段一段传输。 1.引入模块 1. const http = require("http"); 2. const ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 677,623
精华内容 271,049
关键字:

获取post数据

友情链接: calc.zip