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(',\n') 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

 

最新文章

  1. IOS_反射
  2. SQL Server 数据库查找重复记录的几种方法
  3. c#常见的错误集合
  4. [转]Hive:简单查询不启用Mapreduce job而启用Fetch task
  5. Python 3 条件、循环和assert、pass、del
  6. 定时器 corn 表达式
  7. HDFS的基本shell操作,hadoop fs操作命令
  8. Android 订阅-发布者模式-详解
  9. xml<>编译
  10. 省市区联动(MVC分布视图)
  11. Buffer Sort
  12. opengl模板缓冲区
  13. 某网站经纬度Decode
  14. YII 1.0 分页类
  15. Display:table;妙用,使得左右元素高度相同
  16. Spring源码:IOC原理解析(二)
  17. Hibernate实体类注解解释
  18. Unity切换到安卓平台Shader丢失(opengl)
  19. Oracle day01 select where关键字
  20. CSS背景渐变支持transition过渡效果

热门文章

  1. 滚动居中效果(frame版)
  2. CentOS 开机启动
  3. 基于olami开放语义平台的微信小程序遥知之源码实现
  4. jQuery 操作cookie保存用户浏览信息
  5. MPEG-4 压缩编码标准
  6. BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第10章节--SP2013中OAuth概览 应用程序验证
  7. 用Reflector for .NET反编译dll文件(.net),把整个dll导出个cs插件
  8. Nginx 安装与启动
  9. unity5, import fbx注意事项
  10. Entity Framework底层操作封装V2版本号(2)