• 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() 这里的效果





     
  • 相关阅读:
    不用内置函数,实现字符串的反转
    selenium2学习:浏览器控制、简单操作、鼠标事件和键盘事件、获得验证信息、设置元素等待
    selenium2学习:浏览器操作:单元素定位&一组元素定位
    selenium2学习:webdriver:打开浏览器
    selenium2学习:python3基础
    selenium2学习:环境搭建
    selenium2学习:自动化测试基础知识
    zk实现分布式锁
    JDBC连接MySql,配置url报错
    git使用
  • 原文地址:https://www.cnblogs.com/yzwdcjs/p/14700757.html
Copyright © 2020-2023  润新知