zoukankan      html  css  js  c++  java
  • day8_好用的网络编程

    首先要安装requests模块,pip install requests接口文档地址是http://doc.nnzhp.cn/

    import requests
    url = 'http://api.nnzhp.cn/api/user/stu_info'
    data = {'stu_name': '小黑'}  # 字典
    res = requests.get(url, data)  # 发送get请求
    print(res.status_code)  # 打印状态码
    print(res.json())  # 打印出字典,如果接口返回的是json串的话,才能用.json(),get请求也一样,返回的是json串的话,才能用.json()
    print(type(res.json()))  # 打印出<class 'dict'>
    print(res.url)  # 打印url,拼接后的url,汉字变成编码
    print(res.text)  # 打印的json串
    print(type(res.text))  # 打印<class 'str'>

     

    import requests
    url = 'http://api.nnzhp.cn/api/user/login'
    data = {'username': 'niuhanyang', 'passwd': 'aA123456'}  # 字典
    res = requests.post(url, data)  # 发送post请求,如果只传data说明入参是k-v类型,如果url是https的,要加一个参数verify=False
    print(res.status_code)  # 打印状态码
    print(res.json())  # 打印出字典
    print(type(res.json()))  # 打印出<class 'dict'>
    print(res.url)  # 打印url,拼接后的url,post请求的url不含参数,就是传入的url
    print(res.text)  # 打印的json串
    print(type(res.text))  # 打印<class 'str'>

    import requests
    url = 'http://api.nnzhp.cn/api/user/add_stu'
    data = {'name': '小花', 'grade': '处女座', 'phone': 13800138005}  # 字典
    res = requests.post(url, json=data)  # 入参是json类型,在post请求中指定json=data
    print(res.status_code)  # 打印状态码
    print(res.json())  # 打印出{'error_code': 0, 'msg': '操作成功!'}
    print(type(res.json()))  # 打印出<class 'dict'>
    print(res.url)  # 打印url,拼接后的url,post请求的url不含参数,就是传入的url
    print(res.text)  # 打印的json串
    print(type(res.text))  # 打印<class 'str'>

    # 带cookie的请求
    import requests
    url = 'http://api.nnzhp.cn/api/user/gold_add'
    data = {'stu_id': 1, 'gold': 10000}  # 字典
    cookie = {'niuhanyang': '33f8fd533c05868465618fff68fa05d7'}
    res = requests.post(url, data, cookies=cookie)  # 可以传入多个cookie,所以是cookies=,如果cookie是k-v的一大坨,可以传k-v,也可以全部传进去一个字符串

    print(res.json())  # 打印出{'error_code': 0, 'msg': '操作成功!'}
    print(type(res.json()))  # 打印出<class 'dict'>
    print(res.text)  # 打印的json串
    print(type(res.text))  # 打印出<class 'str'>
    在start的日志可以看到获取到了cookies

     

    # 带header的请求
    import requests
    url = 'http://api.nnzhp.cn/api/user/all_stu'
    header = {'Referer': 'http://api.nnzhp.cn/'}  # header里面传的时候不能有中文
    res = requests.get(url, headers=header)  # 可以传入多个header,所以是headers=
    print(res.json())  # 打印出{'error_code': 0, 'msg': '操作成功!'}
    print(type(res.json()))  # 打印出<class 'dict'>
    print(res.text)  # 打印的json串
    print(type(res.text))  # 打印出<class 'str'>
    在start的日志可以看到获取到了headers

    # 利用post请求实现上传文件的代码
    file = {'file_name': open('上周回顾.py', encoding='utf8')}
    url = 'http://127.0.0.1:8000/upload'
    r = requests.post(url, files=file)
    print(r.text)  # 上传文件的代码如下图,在bin目录可以看到上传文件成功

    # 文件上传到服务器
    import requests
    url = 'http://api.nnzhp.cn/api/file/file_upload'
    # 当前目前下直接传文件,不在当前路径下传文件的绝对路径,如果打开的文件有中文,要以rb模式打开或者用encoding='utf-8'
    # res = requests.post(url, files={'file': open(r'C:UserssunshujiangPycharmProjectshuac.txt')}).text
    res = requests.post(url, files={'file': open('好用的网络编程.py', encoding='utf-8')}).text
    print(res)  # 打印的json串

    
    
    # 上传文件 
    @server.route('/upload', methods=['post'])
    def upload():
    # 上传文件接口
    print(request.files)
    f = request.files.get('file_name', None) # 如果没有上传文件,默认是None
    if f:
    t = time.strftime('%Y%m%d%H%M%S') # 获取当前时间
    new_file_name = t + f.filename # 给文件重命名,防止有重复文件覆盖
    abs_path = os.path.join(UPLOAD_PATH, new_file_name) # 修改上传文件的路径用这行和下行代码
    f.save(abs_path) # 保存文件
    # f.save(new_file_name) # 保存文件,默认存在bin目录下,因为start.py在bin目录
    return my_json({"code": "ok"})
    else:
    return my_json({"msg": "请上传文件!"})
  • 相关阅读:
    元学习Meta Learning/Learning to learn
    TRAINING A CLASSIFIER训练分类器(pytorch官网60分钟闪电战第四节)
    NEURAL NETWORKS神经网络(pytorch官网60分钟闪电战第三节)
    AUTOGRAD: 自动分化(pytorch官网60分钟闪电战第二节)
    WHAT IS PYTORCH?(pytorch官网60分钟闪电战第一节)
    windows找不到gpedit.msc
    The “freeze_support()“ line can be omitted if the program is not going to be frozen to produ
    torch.mul() 和 torch.mm() 的区别
    vue面试题(2)
    JS输出题练习
  • 原文地址:https://www.cnblogs.com/laosun0204/p/8566492.html
Copyright © 2011-2022 走看看