GET:通过URL网址传递信息,可以直接在URL网址上添加要传递的信息 POST:可以向服务器提交数据,是一种比较流行的比较安全的数据传递方式 PUT:请求服务器存储一个资源,通常要指定存储的位置 DELETE:请求服务器删除一个资源 HEAD:请求获取对应的HTTP报头信息 OPTIONS:可以获取当前UTL所支持的请求类型
#Get请求:特点:把数据拼接到请求路径的后面传递给服务器,优点是速度快,缺点是承载的数据量小,不安全 import urllib.request url = '这里写服务器地址' response = urllib.request.urlopen(url) data = response.read().decod('utf-8') print(data) print(type(data))概念:一种保存数据的格式 作用:可以保存本地的json文件,也可以将json串进行传输,通常将json称为轻量级的传输方式 json文件组成: {}:代表对象(字典) []:代表牌列表 :代表键值对 ,分隔两个部分
#将json格式的字符串转为python数据类型的对象 import json jsonStr = '{"name":"tom","age":19}'#xml文件的内容 jsonData = json.loads(jsonStr) print(jsonData)#{'name': 'tom', 'age': 19} print(type(jsonData))#<class 'dict'> #将python数据类型的对象转为json格式的字符串 jsonData2 = {'name': 'tom', 'age': 19} jsonStr2 = json.dumps(jsonData2) print(jsonStr2)#{"name": "tom", "age": 19} print(type(jsonStr2))#<class 'str'> #读取本地的json文件: path1 = r'' with open(path1,'rb') as f: data = json.load()#不加s就是读取本地 print(data) print(type(data))#<class 'dict'>此时读的是字典类型 #写本地的json文件: path2 = r'' jsonData3 = {'name': 'tom', 'age': 19}#现在是字典格式 with open(path2,'w') as f: json.dump(jsonData3,f)#写进去就是json格式Post请求: 特点:把参数进行打包,单独传输 优点:数量大,安全(当对服务器数据进行修改时建议使用post) 缺点:速度慢
import urllib.request import urllib.parse ur1 = '这里写服务器地址' #将要发送的数据合成一个字典,字典的键值去网址里找,一般为input标签的name属性的值 data = {'username':'tom','passwd':'666'} #将要发送的数据进行打包,记住编码 postData = urllib.parse.urlencode(data).encode('utf-8') #请求体 req = urllib.request.Request(ur1,data=postData) #请求 req.add_header('........') response = urllib.request.urlopen(req) print(response.read().decode('utf-8'))