http操作

我们对常用的几种http引擎进行了封装,从而满足大部分http请求的需要,GET/POST/PUT/PATCH/DELETE以及文件上传

httplib方式

httplib的一层封装,更易于使用

class nd.rest.http.Http(host, port=80, url='', ssl=False, timeout=60)

对GET/POST进行了封装,让代码更简短易读 cof.http.Http 先初始化

  • METHOD: 默认请求方法
delete(url, params=None)

DELETE请求

Parameters:
  • url – 请求地址
  • params – body参数
Returns:

get(url)

GET 请求

Parameters:url – 请求地址
Returns:响应
# 创建http对象
>>> http_o = Http(host, port)
# 执行请求
>>> res = http_o.get(url)
# 获取响应码
>>> code = res['code']
>>> data = res['data']
# 如果是json的话,需要解码
>>> data_dec = json_decode(data)
patch(url, params=None)

PATCH 请求

Parameters:
  • url
  • params
Returns:

post(url, params=None)
Parameters:
  • url
  • params(string)
Returns:

print_response_time(res)

打印某个接口的响应时间

Parameters:res – 响应
{
    'request':
    'response_time':
    'read_time'
}

函数签名:

res -> void
1
2
>>> http_o = Http()
>>> http_o.print_response_time(res)
put(url, params=None)

PUT 请求,用于修改资源

Parameters:
  • url
  • params
Returns:

send_request(res, method, url, headers, body=None)

封装发送请求的过程

set_header(header)

设置http请求头,可以设置AccessToken

upload_files(url_in, file_path, params)

文件上传的方法

参数:

Parameters:
  • url – 请求url
  • file_path – 文件路径,包含文件名
  • params – 上传文件需要带有的参数,字典格式

curl方式

class nd.rest.co_http.co_curl.Http(host, port=80, debug=False, ssl=False)
file(url, param)

文件上传

post(path, param)
put(path, param)
status(url, ts=2)

测试web状态 默认在2秒内进行

upload_files(path, file_path, params, file_key='fileUpload')

tornado方式

class nd.rest.co_http.co_tornado.Http

使用tornado库

get(url)
Parameters:url
Returns:
1
2
>>> http_o = Http(host)
>>> http_o.get()

requests方式

class nd.rest.co_http.req.Http
get(url)
Parameters:url
Returns:
1
2
>>> http_o = Http(host)
>>> http_o.get()