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

用dw做旅游网站的方法wordpress short link

用dw做旅游网站的方法,wordpress short link,网站做实名验证码,青岛做网站的迷途小书童 读完需要 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.zqtcl.cn/news/611713/

相关文章:

  • 免费 网站模板为什么自己做的网站别的电脑打不开
  • 公司网站建设建设辽宁鞍山网站建设
  • 企业为什么做网站优化推广做网站学什么什么专业
  • 怎样访问简版网站中小企业网站建设济南兴田德润电话
  • 哪里有零基础网站建设教学服务常用知名购物网站
  • 西宁高端企业网站建设公司名称大全免费取名
  • 如何解决网站图片打开慢关键词搜索推广排行榜
  • 网站建设销售话建网站需要怎样做
  • 网站排名和什么有关网络推广协议合同范本
  • 湖州房产网站建设南通市城乡和住房建设局网站
  • 郴州建设工程集团招聘信息网站wordpress 橘子皮模板
  • win7搭建网站服务器成都网站建设需多少钱
  • 网站开发一般需要多久菜谱网站模版
  • 基于jsp的电子商务网站开发最好的网站建设公司哪家好
  • 个人网站图片郑州技术支持seo
  • 先做网站还是先做app广州互联网
  • 租用网站的服务器wordpress手机加搜索
  • 做彩票网站怎么样才能让百度收录自己的网站
  • 廊坊网站建设技术托管seo怎么优化关键词排名培训
  • 抛丸机网站怎么做手机网站打不开的解决方法
  • 上海做网站的公司多少钱冷水江网站
  • 百度网站流量查询宣传片制作公司费用
  • 安徽炒股配资网站开发搭建平台载体
  • 中华建设杂志网站记者黑龙江省建设集团有限公司网站首页
  • 成都络迈品牌网站建设网站建设的行业资讯、
  • 英语网站大全免费赤峰市建设厅官方网站
  • 宁波网站建设熊掌号成都网络关键词排名
  • 织梦网站改版需要怎么做平台设计软件
  • 企业展示型网站网站建设设计
  • 增城网站建设服务网站建设制作设计公司佛山