zoukankan      html  css  js  c++  java
  • python-requests模块的讲解和应用

    在WINDOWS上可以通过命令行窗口(运行cmd命令), 利用pip进行自动地安装--------pip install requests

    1.向网站发送请求:requests.get(url)

    2.向URL传递参数:requests.get(url, param=None)

    3.返回的响应正文类型选择:

    返回的响应正文不论什么类型,都可以用text获取;str格式
    返回的响应正文如果是字典格式,json格式的,用json()函数获取;dict格式:如果要取值,建议用这个
    ---ValueError:Expecting value:line 1 column i(char 0),如果出现这个错误,就是说明不能用json()函数获取
    
    
    import requests
    #登录 地址和数据
    login='http://47.107.168.87:8080/futureloan/mvc/api/member/login'
    login_data={'mobilephone':18688773467,'pwd':'123456'}
    
    #发起一个get类型的请求,带参数(参数一般放到字典里),返回一个响应实体response
    login_res=requests.get(login,login_data)
    print(login_res)
     #<Response [200]>
    
    #response 里面包含:响应头headers,响应正文text,状态码status_code
    print('登录的响应头是:',login_res.headers)
    print('登录的响应正文是:',login_res.text)
    print('登录的状态码是:',login_res.status_code)
    # 登录的响应头是: {'Server': 'Apache-Coyote/1.1', 'Set-Cookie': 'JSESSIONID=0B1C2F1E355904110187B14ABA44DC60; Path=/futureloan, rememberMe=deleteMe; Path=/futureloan; Max-Age=0; Expires=Thu, 06-Dec-2018 02:01:18 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Date': 'Fri, 07 Dec 2018 02:01:18 GMT'}
    # 登录的响应正文是: {"status":1,"code":"10001","data":null,"msg":"登录成功"}
    # 登录的状态码是: 200
    
    #request 里面包含:URL,请求方式,请求正文,请求头
    #URL,请求方式,请求正文,这三个我们提前都是知道的
    print('登录的请求头是:',login_res.request.headers)
    #登录的请求头是: {'User-Agent': 'python-requests/2.20.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}
    
    #cookies 登录成功之后才有
    print('登录的cookies是:',login_res.cookies)
    print(login_res.cookies['JSESSIONID'])#cookies在取值时类似字典,用key
    # 登录的cookies是: <RequestsCookieJar[<Cookie JSESSIONID=0B1C2F1E355904110187B14ABA44DC60 for 47.107.168.87/futureloan>]>
    # 0B1C2F1E355904110187B14ABA44DC60
    
    #充值 地址和数据
    recharge='http://47.107.168.87:8080/futureloan/mvc/api/member/recharge'
    recharge_data={'mobilephone':18688773467,'amount':'1000'}
    
    recharge_res=requests.post(recharge,recharge_data)
    print('充值失败的响应正文是:',recharge_res.json())
    #充值的响应正文是: {'status': 0, 'code': None, 'data': None, 'msg': '抱歉,请先登录。'}
    
    #什么时候用cookies?如果这个请求需要在用户登录成功之后才能操作的就需要带上cookies
    #带上cookies之后充值才能成功
    recharge_res=requests.post(recharge,recharge_data,cookies=login_res.cookies)
    print('充值成功的响应正文是:',recharge_res.json())
    # 充值成功的响应正文是: {'status': 1, 'code': '10001', 'data': {'id': 24537, 'regname': 'test huahua', 'pwd': 'E10ADC3949BA59ABBE56E057F20F883E', 'mobilephone': '18688773467',
    #                          'leaveamount': '5855596243.55', 'type': '1', 'regtime': '2018-08-13 16:17:16.0'}, 'msg': '充值成功'}
    
    #返回的响应正文类型选择:
    #返回的响应正文不论什么类型,都可以用text获取;str格式
    #返回的响应正文如果是字典格式,json格式的,用json()函数获取;dict格式:如果要取值,建议用这个
    #ValueError:Expecting value:line 1 column i(char 0),如果出现这个错误,就是说明不能用json()函数获取
    
    
    


  • 相关阅读:
    使用XStream解析xml
    分享功能
    上拉加载 下拉刷新
    点击button倒计时
    正则表达式验证手机号码
    第三方登陆
    test
    横向滑动菜单HorizontalScrollView
    slidingmenu侧滑侧单
    2017/4/25 afternoon
  • 原文地址:https://www.cnblogs.com/Aphrodite/p/10081300.html
Copyright © 2011-2022 走看看