zoukankan      html  css  js  c++  java
  • python之简单的get和post请求

    1.json 模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps() 和 json.loads() , 要比其他序列化函数库如pickle的接口少得多。 下面演示如何将一个Python数据结构转换为JSON:

    import json
    
    data = {
        'name' : 'ACME',
        'shares' : 100,
        'price' : 542.23
    }
    
    json_str = json.dumps(data)
    

    下面演示如何将一个JSON编码的字符串转换回一个Python数据结构:

    data = json.loads(json_str)
    

    2.简单的get和post请求,使用import requests

    import requests
    
    response = requests.get('http://httpbin.org/get')
    print(response.text)
    
    #通过在发送post请求时添加一个data参数,这个data参数可以通过字典构造成
    import requests
    
    data = {
        "name":"zhaofan",
        "age":23
    }
    response = requests.post("http://httpbin.org/post",data=data)
    print(response.text)
    

    3.GET方法,并且自定义header

    # -* - coding: UTF-8 -* -  
    import urllib2
    
    request = urllib2.Request("http://www.baidu.com/")
    request.add_header('content-TYPE', 'application/x-www-form-urlencoded')
    response = urllib2.urlopen(request)
    print response.getcode()
    print response.geturl()
    print response.read()
    

    POST方法,并且自定义header

    # -* - coding: UTF-8 -* -  
    import urllib2
    import urllib
    
    request = urllib2.Request("http://passport.cnblogs.com/login.aspx")
    request.add_header('content-TYPE', 'application/x-www-form-urlencoded')
    data={"tbUserName":"test_username", "tbPassword":"test_password"}
    
    response = urllib2.urlopen(request, urllib.urlencode(data))
    print response.getcode()
    print response.geturl()
    print response.read() 

     4.实际测试脚本编写

    # coding:utf-8
    import json
    import urllib2
    import requests
    
    
    class AddScores:
        def __init__(self):
            pass
    
        def getToken(self):  # 获取token值
            url1 = 'xxxxx'#url
            r1 = requests.get(url1)
            self.tokenObj = json.loads(r1.text)#解码JSON数据
    
            if self.tokenObj["result"] == "success":
                print self.tokenObj["token"]
            else:
                print "failed"
            return self.tokenObj["token"]
    
        def personMess(self):  # 获取个人信息
            url2 = 'xxx' + self.getToken()
            r2 = requests.post(url2)
            print r2.text
    
        def addSco(self,resId):  # 添加分数
            data = {
                "memberId": "xxx",
                "orgCode": "xxx",
                "resourceId": resId,#传参,传resourceId
                "configName": "wsp", "resourceType": "wsp"
            }
    
            print "添加分数的请求参数:"
            print json.dumps(data)#编码JSON
    
            headers = {'Content-Type': 'application/json'}
            url3 = 'xxx' + self.getToken()
            re3 = urllib2.Request(url=url3, headers=headers, data=json.dumps(data))
            response = urllib2.urlopen(re3)
            print response.read()
    

    5.读写TXT文件

    #coding:utf-8
    import time
    
    from Demo2.token import AddScores
    
    
    class ResId:
        def getResId(self):
            file=open('xxxx')
            # a=file.read()
            # print a
            lId= file.readline()
            lId=lId.strip(',
    ')
    
            while lId != '':#逐行读取数据
                print lId
                addScores = AddScores()
                addScores.getToken()
                addScores.personMess()
                addScores.addSco(lId)
    
                time.sleep(68)
    
                lId = file.readline()
                print "============================="
    
    
    ResId().getResId()
    

     详情参考https://www.cnblogs.com/zhaof/p/6915127.html   http://python3-cookbook.readthedocs.io/zh_CN/latest/c06/p02_read-write_json_data.html

     

  • 相关阅读:
    CouchDB
    在 Fabric 中使用私有数据
    Hyperledger Fabric 踩坑汇总
    书单
    HyperLedger Fabric 资料网址大全
    Hyperledger composer
    Hyperledger Fabric
    [转]以太坊智能合约编程之菜鸟教程
    [转]Ethereum-智能合约最佳实践
    [转]工作量证明(PoW)权益证明(PoS)和委任权益证明(DPoS)区别
  • 原文地址:https://www.cnblogs.com/Rita-LJ/p/8759452.html
Copyright © 2011-2022 走看看