《用python做HTTP接口测试》学习笔记第二章

第二章

小节1:

编写一个Python程序,showjson.py,运行程序,提示“请输入您的姓名:”,回车后,提示,”请输入您的电话号码:”,回车后,用JSON格式打印出你输入的通讯信息如下

import json
name = input("请输入你的名字")
phone = input("请输入你的电话号码")
data = json.dumps({"name": name,
                   "phone": phone}, ensure_ascii=False, indent=4)
print(data)

小节2 略

小节3:

编写一个Python程序,getip.py,运行程序,打印出“您的IP地址为:[本机的联网IP地址]”

import requests

r = requests.get("http://httpbin.org/ip")
ip = r.json()['origin']
print("你的IP地址为:{}".format(ip))

小节4 略过

小节5:

编写一个Python程序,getipinfo.py,运行程序,打印出“请输入你要查询的IP地址:[本机的联网IP地址]”,输入IP地址,并回车后,返回IP地址所在的国家(country)、地区(area)、省份(region)和城市(city)

import requests
payload = {'ip': '124.128.22.31'}

r = requests.get("http://ip.taobao.com/service/getIpInfo.php", params=payload)
response = r.json()
country = response['data']['country']
city = response['data']['city']
ip = response['data']['isp']
print("IP所在国家是: {}".format(country), "\n"
      "IP所在城市是: {}".format(city), "\n"
      )

小节6:

编写一个Python程序,sendpost.py,运行程序,打印出“请输入你的姓名:”,输入姓名,并回车后,打印出“请输入你邮箱:”,输入邮箱,并回车后,向网址http://httpbin.org/post发送如下定义的数据,
data={“name”:[输入的姓名],”email”:[输入的邮箱]}
并将返回的状态码和json美化数据打印出来。

import requests
import json

name = input('请输入你的名字')
phone = input('你的电话')
url = 'http://httpbin.org/post'
data = {'name': name, 'phone': phone}
r = requests.post(url, data=data)
print(json.dumps(r.json(), ensure_ascii=False, indent=4))

小节7:

编写一个Python程序,redirect.py,运行程序,打印出“请输入重定向跳转的次数(1-10之间的证书):”,输入数字回车后,程序打印出通过requests.get方法向http://httpbin.org/redirect/[输入的数字]发送GET请求后得到状态码,应该为200,并且获取这个请求中每一次跳转的Location并分别打印出来。
Response对象的history属性是一个包含了各次跳转的Response对象的list类型数据

import requests

jump = input("请输入重定向调转的次数(1-10之间的整数):")
result = requests.get("http://httpbin.org/redirect/"+jump)
count = 1
for response in result.history:
    print("第{0}跳:Location={1}".format(count, response.headers["Location"]))
    count += 1

小节8 略过

小节9:

题目太长,略过

# -*-coding:utf-8-*-
# 原作者代码
import requests
import json
url = "http://httpbin.org/cookies"

commanddesp='''请输入cookies指令: 
add key=value ,用于增加cookies
del key       ,用于删除cookies
show          ,用于显示当前的cookies
quit          , 退出
'''
def printresult(result):
    print(json.dumps(result.json(),indent=4))

def addcookie(strcookie, session):
    print(url+"/set?"+strcookie)
    printresult(session.get(url+"/set?"+strcookie))

def deletecookie(strcookie, session):
    printresult(session.get(url+"/delete?"+strcookie))

def showcookies(session):
    printresult(session.get(url))

session=requests.session()
command=input(commanddesp)
while(command):
    if(command.split()[0]=='add'):
        addcookie(command.split()[1],session)
    elif (command.split()[0]=='del'):
        deletecookie(command.split()[1],session)
    elif(command=="show"):
        showcookies(session)
    elif(command=="quit"):
        break
    else:
        print(commanddesp)
    command=input()

猜你喜欢

转载自blog.csdn.net/lhh08hasee/article/details/80054042
今日推荐