• 网络编程


    一、get请求使用方法--固定格式

    import  requests
    url = 'http://api.nnzhp.cn/api/user/stu_info'
    req=requests.get(url,params={'stu_name':'MLing'})
    print('这是json格式',req.json())#返回内容按字典格式输出
    print('这是text格式',req.text) #返回内容按test格式输出,原始返回什么就是什么
    print('这是状态码',req.status_code) #请求结果中的状态
    print('获取内容',req.content) #返回去请求内容,不过是字节格式的,返回文件、图片的时候使用
    
    
    运行结果:
    这是json格式 {'error_code': 0, 'stu_info': [{'sex': '女', 'name': 'MLing', 'gold': 566, 'phone': '13212532910', 'id': 100010878, 'age': 28, 'addr': '河南省济源市北海大道32号', 'grade': '天蝎座'}]}
    这是text格式 {
            "error_code": 0,
            "stu_info": [
                    {
                            "id": 100010878,
                            "name": "MLing",
                            "sex": "女",
                            "age": 28,
                            "addr": "河南省济源市北海大道32号",
                            "grade": "天蝎座",
                            "phone": "13212532910",
                            "gold": 566
                    }
            ]
    }
    这是状态码 200
    获取内容 b'{
            "error_code": 0,
            "stu_info": [
                    {
                            "id": 100010878,
                            "name": "MLing",
                            "sex": "xe5xa5xb3",
                            "age": 28,
                            "addr": "xe6xb2xb3xe5x8dx97xe7x9cx81xe6xb5x8exe6xbax90xe5xb8x82xe5x8cx97xe6xb5xb7xe5xa4xa7xe9x81x9332xe5x8fxb7",
                            "grade": "xe5xa4xa9xe8x9dx8exe5xbaxa7",
                            "phone": "13212532910",
                            "gold": 566
                    }
            ]
    }'
    

     二、post请求使用方法

     

    # post请求post data  --固定格式
    import  requests
    url='http://api.nnzhp.cn/api/user/login'
    req=requests.post(url,data={'username':'niuhanyang','passwd':'***'}) #传参格式固定
    print(req.json())
    #qq群
    import  requests
    url='https://qun.qq.com/cgi-bin/qun_mgr/get_group_list'
    data={'bkn':208992859}
    req=requests.post(url,data)
    print(req.json())
    
    运行结果:
    {'error_code': 0, 'login_info': {'login_time': '20200527102730', 'sign': 'eb5c2eb9af952aab941702a480b45369', 'userId': 47749}}
    {'em': ' [errcode:4:0]', 'errcode': 0, 'ec': 4}
    

      三、发送header、cookie 

    #cookies
    url="https://qun.qq.com/cgi-bin/qun_mgr/get_group_list"
    data ={"bkn": 208992859}
    d = {'pgv_pvi': '6636933120', 'RK': 'gRZhhBpNbS', 'ptcz': '14bab564718e3e1048a09cc0e18a23f7c51f20d5b93da610cc1427f51f63a2f8', 'pgv_pvid': '4990195883', 'ts_uid': '5190463916', 'uin': 'o0511402865', 'pgv_si': 's7505852416', 'skey': '@2ttDS8Ljw', 'p_uin': 'o0511402865', 'pt4_token': 'AgqIsYBhO1b82zx1N4SxoGpCxGV0d38ss7jCI1nYfIg_', 'p_skey': '9nlMjw4Uy44*Hu5iL3DOFonmAtZtExiniLykrsIRKmM_', 'traceid': '14035c8a79'}
    req = requests.post(url,data,cookies=d)
    print(req.json())
    

     注意:这种方式需要先将cookies转为字典

    url="https://qun.qq.com/cgi-bin/qun_mgr/get_group_list"
    data ={"bkn": 208992859}
    header = {'cookie':"pgv_pvi=6636933120; RK=gRZhhBpNbS; ptcz=14bab564718e3e1048a09cc0e18a23f7c51f20d5b93da610cc1427f51f63a2f8; pgv_pvid=4990195883; ts_uid=5190463916; uin=o0511402865; pgv_si=s7505852416; skey=@2ttDS8Ljw; p_uin=o0511402865; pt4_token=AgqIsYBhO1b82zx1N4SxoGpCxGV0d38ss7jCI1nYfIg_; p_skey=9nlMjw4Uy44*Hu5iL3DOFonmAtZtExiniLykrsIRKmM_; traceid=14035c8a79"}
    req = requests.post(url,data,headers=header)
    print(req.json())
    

      四、文件下载

    import  requests
    url='https://q4.qlogo.cn/g?b=qq&nk=1561131041&s=140'
    req=requests.get(url)
    f=open('MLing.jpg','wb')
    f.write(req.content)
    f.close()
    

      五、文件上传

    import  requests
    url='http://api.nnzhp.cn/api/file/file_upload'
    f=open('MLing.jpg','rb')
    data={'file':f}
    req=requests.post(url,files=data)
    print(req.json())
    f.close()
    

      六、json格式入参

    #传json格式入参--钉钉机器人
    import  requests
    url='https://oapi.dingtalk.com/robot/send?access_token=44402c9408df8cf3f429c02a20399fc34604f98cf572fcaeaa3f9592426176a7'
    d={"msgtype": "text","text": {"content": "下课了!besttest!"}}
    # d为把hd_cookie转为字典
    req=requests.post(url,json=d)
    print(req.json())
    print(req.cookies) #获取cookies
    

      

     

  • 相关阅读:
    入门MyBatis框架你一点都不需要慌
    手把手教你玩转Git
    小米商城项目(JSP+Servlet项目)
    超详细Maven技术应用指南
    如何深入理解关系型数据库的三大范式
    MySQL触发器的详细教学与实战分析
    cute-cnblogs 番外篇-自定义博客园样式美化
    2019以终为始,不迷茫的2020 | 前端小菜鸡的年度总结~
    可爱的博客园样式之自定义“评论区”样式
    Vue中使用key的作用
  • 原文地址:https://www.cnblogs.com/MLing/p/12971319.html
Copyright © 2020-2023  润新知