当前位置: 首页 > news >正文

互联网招聘网站排名服务器做两个网站

互联网招聘网站排名,服务器做两个网站,logo设计哪里做得好,阿里云域名注册云盾迷途小书童 读完需要 9分钟 速读仅需 3 分钟 1 环境 windows 10 64bitpython 3.8httpx 0.23.0 2 简介 之前我们介绍过使用 requests ( https://xugaoxiang.com/2020/11/28/python-module-requests/ ) 来进行 http 操作#xff0c;本篇介绍另一个功能非常类似的第三方库 httpx本篇介绍另一个功能非常类似的第三方库 httpx它提供了同步和异步的 API同时支持 HTTP/1.1 和 HTTP/2是一个全功能的 HTTP 客户端。 3     安装 使用 pip 安装执行命令 pip install httpx 在安装 python 库的同时还安装了命令行工具 httpx.exe 来看几个简单的示例 # get方法请求url httpx.exe https://github.com -m get# post方法请求url同时上传一个文本文件 httpx.exe https://domain.com -m post -f test.txt 4     基本使用 还是拿之前的 flask 后端例子来讲 from flask import Flask, jsonify, request from flask_restful import Api, Resource, reqparseUSERS [{name: zhangsan},{name: lisi},{name: wangwu},{name: zhaoliu} ]class Users(Resource):def get(self):return jsonify(USERS)def post(self):args reqparse.RequestParser() \.add_argument(name, typestr, locationjson, requiredTrue, help名字不能为空) \.parse_args()if args[name] not in USERS:USERS.append({name: args[name]})return jsonify(USERS)def delete(self):USERS []return jsonify(USERS)class UserId(Resource):def __init__(self):self.parser reqparse.RequestParser()self.parser.add_argument(name, typestr)self.parser.add_argument(age, typeint)def get(self, userid):datas self.parser.parse_args()return jsonify({name: USERS[int(userid)].get(name), age: datas.get(age)})def post(self, userid):file request.files[file]file.save(flask_file.txt)return jsonify({msg : success})app Flask(__name__) api Api(app, default_mediatypeapplication/json)api.add_resource(Users, /users) api.add_resource(UserId, /user/userid)app.run(host0.0.0.0, port5000, use_reloaderTrue, debugTrue) 启动后端服务后接着来看看客户端的请求。httpx 的基本用法和 requests 近乎相同很多时候只需要将原来的代码中的 requests 换成 httpx 就行。 import httpx# 使用get方法 r httpx.get(http://127.0.0.15000/users)# http返回码 print(r.status_code)# http头 print(r.headers[content-type]) # 也可以使用 r.headers.get(content-type)# 接口返回的json print(r.json()) import httpx import jsonparam {name: xugaoxiang} headers {Content-type: application/json}# post请求 r httpx.post(http://127.0.0.1:5000/users, datajson.dumps(param), headersheaders)print(r.status_code) print(r.json()) import httpx# delete请求 r httpx.delete(http://127.0.0.1:5000/users) print(r.json()) print(r.status_code) 除此之外像 put、head、options 方法的请求也是类似的这里就不再举例了 r httpx.put(url, data{key: value}) r httpx.head(url) r httpx.options(url) 5     高级用法 上面示例中的用法是 httpx 提供的 top-level API这在写一些测试脚本或者做系统原型时问题不大但真正要在实际项目中去用的话就会有性能上的问题。这是因为 httpx 在进行每一次的请求时都会去重新建立一个链接也就是原有的链接没有被复用这在高并发的情况就显得特别低效。 类似于 requests 模块中的 Sessionhttpx 提供了 Client它会使用 http 连接池大大减少链接重新建立的次数减少 cpu 的使用率降低了网络拥堵提升系统效率。 Client 的使用比较简单推荐的做法是将 Client 作为 context 管理器看下面的示例 import httpxwith httpx.Client() as client:# 请求部分将原来的 httpx 换成 client 就可以了参数是一样的r client.get(http://127.0.0.1:5000/users)print(r.json())print(r.status_code) 6     同步请求与异步请求 默认情况下httpx 提供的是标准同步 API如果想使用异步请求可以这样 import httpx import asyncioasync def make_async_request():async with httpx.AsyncClient() as client:r await client.get(http://127.0.0.1:5000/users)print(r.json())print(r.status_code)asyncio.run(make_async_request()) 7     http2 支持 要使能 http2我们需要额外安装库 httpx[http2] # 这个包名取的太奇怪了 pip install httpx[http2] 然后在初始化 client 的时候加上 http2 的支持 with httpx.Client(http2True) as client:r client.get(http://127.0.0.1:5000/users) 8     免费社群
http://www.hkea.cn/news/14485379/

相关文章:

  • 主流网站模板微博搜索引擎优化
  • php网站屏蔽词怎么做服装店网站建设思路
  • 垄断了网站建设lisp 网站开发
  • 二级域名网站怎么做微信小程序开发教程pdf
  • 网站顶部菜单下拉固定手机网站开发兼容性
  • 网站制作开票几个点无锡专业做网站的公司哪家好
  • 企业做网站哪家公司好像网站分类一样的表格图怎么做
  • 制作微信网站模板下载穷人装修3万硬装
  • 网站建设运营费用包括哪些高校网站建设滞后
  • 金堂县建设局网站图跃企业网站建设
  • 数字博物馆网站建设html水平导航栏怎么做
  • 网站网站建设策划书wordpress附件分类存放
  • 成都网站建设维护中国建筑企业网
  • 网站软件免费下载大全wordpress app无法登陆
  • html网站开发事例教程phpcms 外贸网站模板
  • 如何建网站费用多少南充 网站开发
  • 学校做的网站外面访问不了网站空间 群集
  • 淄博网站建设 很乱自己建设网站难不难
  • 高端网站公司一起做网店
  • 公司网站规划案例姜堰做网站
  • 舟山网站建设费用注册网站如何备案
  • 徐州做网站的公司招聘设计制作小车视频
  • wordpress网站从零房地产设计方案
  • 佛山出格建站网站开发需要证书吗
  • 怎么制作网站编辑页面ps工具设计网站
  • 长沙做网站需要多少钱做网站先用dw还是asp
  • 甘肃网站设计公司用外服务器做网站
  • 厦门网站建设网站网络营销的主要形式
  • 网站多久才会被收录安徽论坛网站建设
  • 浏览器的网站自己做的网站能上传吗