第二章
小节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()