python之简单的get和post请求
2024-08-22 13:25:38
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
最新文章
- IOS_反射
- SQL Server 数据库查找重复记录的几种方法
- c#常见的错误集合
- [转]Hive:简单查询不启用Mapreduce job而启用Fetch task
- Python 3 条件、循环和assert、pass、del
- 定时器 corn 表达式
- HDFS的基本shell操作,hadoop fs操作命令
- Android 订阅-发布者模式-详解
- xml<;>;编译
- 省市区联动(MVC分布视图)
- Buffer Sort
- opengl模板缓冲区
- 某网站经纬度Decode
- YII 1.0 分页类
- Display:table;妙用,使得左右元素高度相同
- Spring源码:IOC原理解析(二)
- Hibernate实体类注解解释
- Unity切换到安卓平台Shader丢失(opengl)
- Oracle day01 select where关键字
- CSS背景渐变支持transition过渡效果
热门文章
- 滚动居中效果(frame版)
- CentOS 开机启动
- 基于olami开放语义平台的微信小程序遥知之源码实现
- jQuery 操作cookie保存用户浏览信息
- MPEG-4 压缩编码标准
- BEGINNING SHAREPOINT&;#174; 2013 DEVELOPMENT 第10章节--SP2013中OAuth概览 应用程序验证
- 用Reflector for .NET反编译dll文件(.net),把整个dll导出个cs插件
- Nginx 安装与启动
- unity5, import fbx注意事项
- Entity Framework底层操作封装V2版本号(2)