zoukankan      html  css  js  c++  java
  • 网络编程之 requests 模块

    1. get 请求

    1 import requests
    2 url = 'http://api.xxxx.cn/api/user/stu_info?stu_name=xiaohei'
    3 data = {'stu_name':'小黑'}
    4 req = requests.get(url,params=data)    #发get请求
    5 print(req.json())
    6 print(type(req.json()))        #返回类型为:字典
    7 print(req.text)
    8 print(type(req.text))        #返回类型为:字符串的json串

    2. post 请求

    import requests
    url = 'http://api.xxxx.cn/api/user/login'
    data = {'username':'joseph','passwd':'aA123456'}
    req = requests.post(url,data)
    print(req.json())

    3. 上传文件

    import requests,json
    url = 'http://api.xxxx.cn/api/file/file_upload'
    #上传txt等格式
    # data = {
    #     'file':open('baidu.html',encoding='utf-8')
    # }        
    #上传图片格式
    data = {
        'file':open(r'C:UsersAdministratorDesktopjoseph.PNG','rb')
    }    
    
    req = requests.post(url,files = data)
    # print(req.json())    #返回成字典,
    # 如果报错,json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
    #说明返回不成字典,要用req.text
    print(req.text)

    4. 入参为json类型

    import requests,random
    phone = random.randint(10000000000,99999999999)
    url = 'http://api.xxxx.cn/api/user/add_stu'
    data =  {
        "name":"joseph",
        "grade":"天蝎座",
        "phone":phone,
        "sex":"",
        "age":28,
        "addr":"河南省济源市北海大道32号"
      }
    req = requests.post(url,json=data)    #入参是json时,采用json=data
    print(req.json())

    5. 添加cookie

    import requests,random
    phone = random.randint(10000000000,99999999999)
    url = 'http://api.xxxx.cn/api/user/gold_add'
    data =  {
        "stu_id":468,
        "gold":178
      }        #传入的参数
    cookie = {'joseph':'337ca4cc825302b3a8791ac7f9dc4bc6'}    #cookie
    req = requests.post(url,data,cookies = cookie)
    print(req.json())

    6. 添加header

    import requests
    url = 'http://api.xxxx.cn/api/user/all_stu'
    header = {
        'Referer':'http://api.xxxx.cn/'
    }
    req = requests.get(url,headers= header)
    print(req.json())

    7. 下载图片

    import requests
    url = 'http://imgsrc.baidu.com/imgad/pic/item/9d82d158ccbf6c8154bdd5ccb63eb13533fa4008.jpg'
    req = requests.get(url)
    # res = req.content    #req.content返回的是二进制
    # print(res)
    fw = open('s.jpg','wb')
    fw.write(req.content)
     
     
     
  • 相关阅读:
    quartz 定时调度持久化数据库配置文件
    springboot项目下mvnw文件的作用
    mysql安装版卸载,解压版安装
    idea提示,格式化代码,清除不使用的包快捷键,maven自动导jar包
    JavaScript中call,apply,bind方法
    彻底理解js中this的指向
    Gradle系列之从init.gradle说起
    响应式网页设计简单入门
    开启MySQL远程访问权限 允许远程连接
    https原理
  • 原文地址:https://www.cnblogs.com/pengzhuopeng/p/9052963.html
Copyright © 2011-2022 走看看