一、HTTP请求发送
通过网络与Web API(存在于网络上的服务接口)进行通信,本质即是发送HTTP请求并获取响应内容。python语言中有很多模块可以用来发送http请求,内置的模块如:httplib、urllib、urllib2等;第三方的模块选择性则更大,如:http、httplib2、requests、pyQuery等。其中requests模块较为易用、通用。
预置条件:在python环境下,安装requests第三方包;方式:命令提示符---》pip install requests; 检查方式:pip list;
二、GET请求发送
1.首先导入requests模块,使用requests下的get()方法,参数即访问的URL;返回值就是请求响应,可以通过status_code、headers等等获取相关属性值。如图:
2.上面是默认将get请求的参数拼接在url上面,其实requests.get(url,params={})可以直接传递一个字典对象给它,requests会其处理好的;而不需要自己拼接。requests会帮你拼接;如下图(认真看图上的代码及描述):
三、POST请求发送
post请求与上面讲述到的get请求类似,只是使用的是requests.post()方法;需要注意的是发送的参数的类型,上面的默认是application/x-www-form-urlencoded,如果API需要JSON类型的params,则需要import json;然后在requests.post(url,json.dumps(params),headers=headers),其中,需要先赋值变量headers={“content-type”:"application/json"};
四、multipart/form-data请求的发送
multipart/form-data请求主要是用于文件传输;以二进制读取所要传输的文件,再保存为字典对象;发起请求的格式基本一致;
综述,HTTP的请求体类型大致可以分为三类:Query String、文件分割、其他类型;
Query String即指的是x-www-form-urlencoded;
其他类型就是包括JSON、XML在内的自定义数据类型;
文件分割:就是multipart/form-data