Python的get和post请求

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_45523154/article/details/102672555

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


在学习过程中有什么不懂得可以加我的
python学习交流扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容

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()

对Python感兴趣或者是正在学习的小伙伴,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的!从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每天都有大牛定时讲解Python技术,分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地

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()

猜你喜欢

转载自blog.csdn.net/weixin_45523154/article/details/102672555