zoukankan      html  css  js  c++  java
  • post/get请求

    post请求四种传送正文方式以及对应的编码方式:

    (1)请求正文是application/x-www-form-urlencoded

    这应该是最常见的 POST 提交数据的方式了。浏览器的原生 form 表单。

    形式:

    requests.post(url='',data={'key1':'value1','key2':'value2'},headers={'Content-Type':'application/x-www-form-urlencoded'})

      ♦Reqeusts支持以form表单形式发送post请求,只需要将请求的参数构造成一个字典,然后传给requests.post()的data参数即可。

    (2)请求正文是multipart/form-data

    上传文件用的表单格式

    (3)请求正文是raw(原生的)

    形式:

    ♦传入xml格式文本(text/xml)
    它是一种使用 XML 作为编码方式的远程调用规范。
     requests.post(url='',data='<?xml  ?>',headers={'Content-Type':'text/xml'})
    传入json格式文本(application/json)
    这个 Content-Type 作为响应头大家肯定不陌生。实际上,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串。由于 JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON.stringify,服务端语言也都有处理 JSON 的函数,使用 JSON 不会遇上什么麻烦。
     requests.post(url='',data=json.dumps({'key1':'value1','key2':'value2'}),headers={'Content-Type':'application/json'})

      (4)请求正文是binary(二进制的)

    形式:

    requests.post(url='',files={'file':open('test.xls','rb')},headers={'Content-Type':'binary'})

     

    get请求用params,params是往url后面添加参数。

    • params:字典或者字节序列,作为参数增加到url中,使用这个参数可以把一些键值对以k1=v1&k2=v2的模式增加到url中,get请求中用的较多。

    json和dict对比

    json的字符串强制双引号dict字符串可以单引号、双引号;

    json的类型是字符串,字典的类型是字典。

    通过下面函数来判断是不是字符串是不是json:

     def func(str):

        try:
    json.loads(str)
    print('true')
    except:
    print('false')

    func("{'key1':'value1','key2':'value2'}") false
    func('{"key1":"value1","key2":"value2"}') true


    JSON 函数

    使用 JSON 函数需要导入 json 库:import json

    json.dumps      将 Python 对象编码成 JSON 字符串

    json.loads        将已编码的 JSON 字符串解码为 Python 对象,等同于eval() 这里的效果





     
  • 相关阅读:
    POJ 3687 Labeling Balls <<拓扑排序
    FATFS 初学之 f_mount
    STM8 低功耗时钟管理
    还记得 C中带参宏的 "#"号吗?
    8.9并发编程(一)
    8.8网络编程(三)
    8.7网络编程(二)
    8.6网络编程(一)
    7.30反射、元类及项目生命周期
    7.29多态
  • 原文地址:https://www.cnblogs.com/yzwdcjs/p/14700757.html
Copyright © 2011-2022 走看看