zoukankan      html  css  js  c++  java
  • request 发送多层字典

    a. 客户端向服务端发送多层字典的值

    #客户端发送
    	obj = {
    	    'data':{
    	        "k1":"v1",
    	        "k2":"v2"
    	    },
    	    'status': True
    	}
      
    	#json发送
        requests.post("http://www.baidu.com",json=obj)
      
        #发送数据内部默认处理(会在内部把字典obj json.dumps序列成字符串,发送给服务端)
        #body: json.dumps(obj)
        #headers= {'content-type':'application/json'}   #默认加入
      
      
    #服务端接受上面格式发送的数据
    if request.method == 'POST':
            obj = json.loads(request.body.decode('utf-8'))

    b. request.post 和request.body

    #接受
    requests.boby
    	- 请求体原生的值
    
    requests.POST   
    	- 根据特殊的请求头从requests.boby获取数据,不能接受多层字典的数据
    

    c. 三者相等

    #方式一:
    
    requests.post("http://www.baidu.com",json=obj)
    
    #方式二: 
    
    requests.post(
        url="http://www.baidu.com",
        headers={'content-type':'application/json'},
        data=json.dumps(obj)
    )
    
    #方式三():
    
    requests.post(
        url="http://www.baidu.com",
        headers={'content-type':'application/json'},
        data=bytes(json.dumps(obj),encoding="utf-8")
    )

    d. 一般使用

    requests.post(
        url="",
        data={"name":"alex","pwd":123},  #把数据解析成 data = "user=alex&pwd=123"
        headers={'content-type':'application/x-www-form-urlencoded'}
    )
    

    但不能接受多层字典的数据,接受第二层字典只能接受key,不能接受value
    #headers= {'content-type':"application/x-www-form-urlencoded

     
    requests.post(
        url="",
       json={"name":"alex"},  #会把数据解析成大的字符串
        headers={'content-type':'application/json'}
    )

      

     

  • 相关阅读:
    页面状态加载.... JS
    创建windows服务&监控SQL数据运行状态(原)
    为图片添加锚点
    当jquery遇上了json 哇哈哈
    关于SVN源代码管理
    最新最全的ASP.NET学习资源大全
    .NET开发人员必知的八个网站
    关于回车执行(回车触发事件)
    DIV+CSS布局
    优化Linux下的内核TCP参数来提高服务器负载能力
  • 原文地址:https://www.cnblogs.com/xuyaping/p/7750651.html
Copyright © 2011-2022 走看看