写个小玩意儿一:http 客户端

前言

    看完《HTTP 权威指南》前三章:HTTP 概述、URL 与资源、HTTP 报文,大致对现在 Web 服务中 HTTP 协议有个初步的认识,一般 http 的客户端都是浏览器,现写个小工具,实现 http 客户端的功能,发送报文,并接受响应报文。

 

Python

    requests 是用 python 写的 HTTP 库,基于 urllib,但是比 urllib 更加方便,测试 HTTP 客户端发送请求报文,可以选用 requests 库,社区中 requests 比 urllib 更加 pythoner。

    安装 requests:

pip3 install requests

    安装完成后就可以导入了,并调用 HTTP 方法:

import requests

#GET、POST、PUT、DELETE、HEAD、OPTIONS 方法
r = requests.get("http://www.baidu.com")
r = requests.post("http://www.baidu.com")
r = requests.put("http://www.baidu.com")
r = requests.delete("http://www.baidu.com")
r = requests.head("http://www.baidu.com")
r = requests.options("http://www.baidu.com")

    requests 在发送请求报文的时候,还可以自定义 header:

#header 
header = {'content-type': 'application/json', 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'
}
r = requests.post("https://api.github.com/some/endpoint', headers=header

    当然还有自定义参数:

requests.get("http://www.baidu.com", params={'wd':'python})
requests.post("http://www.baidu.com", data={'comment':'POST test'})

    使用 requests 方法之后,会返回一个 response 对象,存储了来自服务器的响应内容:

r.encoding    #响应报文的字符集
r.status_code   #响应状态码
r.raw    #返回原始响应体,也就是 urllib 的 response 对象,使用 r.raw.read() 读取
r.text    #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
r.headers    #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写
r.json    #requests 中内置的 JSON 解码器
r.ralse_for_status() #失败请求抛出异常
pip3 install requests

 

有关 requests 的详细可参考官方文档:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

 

进程监控平台:

    期间用过阿里云自带的进程监控,在服务器执行 ps -ef  | grep process_name 的时候,监控也会把这条bash 进程当做是正在监控的进程而报警,之前也用过 bash scripts 每次执行都会过滤配置文件里面配置的进程名称,然后在终端显示出来,没法起到实时监测的作用,想练练手写个进程监控平台;

    后台 python:获取进程状态信息、响应 HTTP 请求并发送进程状态信息报文至前台

    前台 h5:每隔一段时间 GET 请求获取进程状态,然后展示。

    数据库 mysql:存放进程状态信息

 

转载于:https://my.oschina.net/u/2470065/blog/792902

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值