首页 > 代码库 > python网络编程,requests模块

python网络编程,requests模块

可以使用python自带的urllib模块去请求一个网站,或者接口,但是urllib模块太麻烦了,传参数的话,都得是bytes类型,返回数据也是bytes类型,还得解码,想直接把返回结果拿出来使用的话,还得用json,发get请求和post请求,也不通,使用比较麻烦,还有一个比较方便的模块,比urllib模块方便很多,就是requests模块,它使用比较方便,需要安装,pip install requests即可,下面是requests模块的实例

 
  import requests        
        pay_url ‘http://szz.nnzhp.cn/pay‘
        balance_url ‘http://szz.nnzhp.cn/get_balance‘
        balance_data {‘user_id‘:1}
        pay_data ={"user_id":1,"price":"999"}
        balance_res requests.get(balance_url,balance_data).text
        #发送get请求,并获取返回结果,text获取的结果是一个字符串
        print(balance_res)
        balance_res requests.get(balance_url,balance_data).json()
        #发送get请求,并获取返回结果,json()方法获取的结果直接是一个字典
        print(balance_res)
        pay_res requests.post(pay_url,pay_data).json()#调用post方法
        print(pay_res)
        #====入参是json串的====
        url ‘http://api.nnzhp.cn/getmoney‘
        data {"userid":1}
        res requests.post(url,json=data).json()#指定入参json
        print(res)
        #======添加cookie=====
        url ‘http://api.nnzhp.cn/setmoney2‘
        data {‘userid‘:1,"money":9999}
        cookie {‘token‘:"token12345"}
        res requests.post(url,data,cookies=cookie).json()#使用cookies参数指定cookie
        print(res)
        #=====添加权限验证=====
        url ‘http://api.nnzhp.cn/setmoney‘
        data {‘userid‘:1,"money":91999}
        res requests.post(url,data,auth=(‘admin‘,‘123456‘)).json()
        #使用auth参数指定权限验证的账号密码,auth传的是一个元组
        print(res)
        #======发送文件=====
        url ‘http://api.nnzhp.cn/uploadfile‘
        res requests.post(url,files={‘file‘:open(‘api11.py‘)}).json()
        #指定files参数,传文件,是一个文件对象
        print(res)
        #=====发送header======
        url ‘http://api.nnzhp.cn/getuser2‘
        data {‘userid‘:1}
        header {‘Content-Type‘:"application/json"}
        res requests.post(url,headers=header).json()
        #指定headers参数,添加headers
        print(res)
 

 

欢迎分享转载

python网络编程,requests模块