python之简单的get和post请求
1.json
模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps()
和 json.loads()
, 要比其他序列化函数库如pickle的接口少得多。 下面演示如何将一个Python数据结构转换为JSON:
'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''import jsondata = { '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 requestsresponse = requests.get('http://httpbin.org/get')print(response.text)
'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''#通过在发送post请求时添加一个data参数,这个data参数可以通过字典构造成import requestsdata = { "name":"zhaofan", "age":23}response = requests.post("http://httpbin.org/post",data=data)print(response.text)
3.GET方法,并且自定义header
'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''# -* - coding: UTF-8 -* - import urllib2request = 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
'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''# -* - coding: UTF-8 -* - import urllib2import urllibrequest = 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.实际测试脚本编写
'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''# coding:utf-8import jsonimport urllib2import requestsclass 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文件
'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''#coding:utf-8import timefrom Demo2.token import AddScoresclass 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()
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。