《用python做HTTP介面測試》第二章學習筆記
阿新 • • 發佈:2018-12-26
第二章
小節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()