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

公司网站推广现状合肥seo

公司网站推广现状,合肥seo,怎么做vip视频网站,东莞公司官网推广你想知道我们请求一个url的时候,握手和请求资源分别占用多长时间么?今天我们使用python写个小案例来看看吧。 项目展示 打开项目,修改hosts、port、methods以及url的变量,即可运行python程序便可获得该页面的详细信息的时间&…

你想知道我们请求一个url的时候,握手和请求资源分别占用多长时间么?今天我们使用python写个小案例来看看吧。

项目展示

打开项目,修改hostsportmethods以及url的变量,即可运行python程序便可获得该页面的详细信息的时间,其中包括TCP/IP三次握手时间 以及 请求接口耗时,最后是 总的耗时。

如何获得握手时间

在获取握手时间的时候,不能使用http库,例如: requests,因为它默认会进行tcp/ip三次握手,而后再进行资源请求,所以我们要使用socket来做这个需求。

python中,socket提供了一种跨平台的网络通信接口,可以用它来创建各种类型的网络连接。

例如代码如下:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 8080))

在上面的代码中,我们先导入socket库,而后使用socket.socket()创建一个socket句柄,而中间的参数分别代表的意思为:

  • socket.AF_INET: 指定IPv4协议。

  • socket.SOCK_STREAM: 指定使用TCP流式套接字类型。

s.connect则开始连接服务器,其参数类型为元组类型,参数值为远程主机名 和 远程端口。

如上代码,当远程服务器连不上的时候或者其他异常的时候,该代码会抛异常,若没有异常,则证明端口通的。

我们仅需要在此之前和之后,都拉一下当前时间戳,就可以计算出握手所耗费的时间,例如:

import socket
import time
try:startTime = time.time()s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(('127.0.0.1', 8080))endTime = time.time()print("runtimes: " , endTime-startTime)
except Exception as e:print("捕获异常" , e)

若没有抛错,我们即可获得握手时间。

如何获得请求时间

握手成功后,我们就可以向该服务器发送http报文了,注意最简单报文的格式是:

请求方法 请求路由 版本号

请求头(主机名)

空行

例如:

GET / HTTP/1.1
Host: 127.0.0.1:8080

如果我们不添加Host请求头,则会抛错: HTTP/1.1 400 Bad Request: missing required Host header

python中,我们直接使用s.send()函数即可发送请求,例如:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 8080))
s.send(b"GET / HTTP/1.1\r\nHost: 127.0.0.1:8080\r\n\r\n")

上述代码中,\r\n是换行的意思,也称之为CRLF,注意最后的2个\r\n是有一个空行,来标志http请求头的结束。

一般来说,我们请求接口后,会读取服务器返回来的状态码,以便开发验证是否是成功的。

这里可以使用s.recv()函数来读取服务器传回来的信息,例如读取从服务器返回的15个字节s.recv(15)

我们可以参考计算握手时间的方法,来计算一下资源请求的时间,代码如下:

import socket
import time
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 8080))startTime = time.time()
s.send(b"GET / HTTP/1.1\r\nHost: 127.0.0.1:8080\r\n\r\n")
recv_data = str(s.recv(15))
endTime = time.time()
print("runtimes: ", endTime - startTime,"接口返回状态码: " , recv_data.split(" ")[1])

如果远程主机和远程端口都正常的话,我们大概会得到如下的信息:

善用装饰器

我们计算握手时间,和计算资源请求时间,都是相同的代码,因为计算的功能不同,所以我们需要被迫写2次,这个时候,就可以使用装饰器,来把这个额外非核心功能给抽离出来,而将计算握手和计算资源请求都给封装为函数,而后通过函数来调用装饰器,就可以获取2种请求时间了。

我们先将装饰器抽离出来:

def funcRunTimes(func):def wrapper(*args):startTime = time.time()result = func(*args)endTime = time.time()execTime = endTime - startTimereturn (result,execTime)return wrapper

我们在funcRunTimes中直接返回wrapper函数,而在wrapper函数中,定义开始时间和结束时间,在二者的中间执行函数func,最后将func的结果以及函数执行的时间封装为一个元组进行返回。

此时,我们可以封装函数了,例如我们想获取握手的时间,我们可以这样写:

@funcRunTimes
def shakeHands(hosts,port):s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)try:s.connect((hosts, port))return sexcept Exception as e:print(e)return None

如果该远程主机可以连上,我们直接返回socket句柄,若连接不上,直接打印错误,返回None

调用该函数的是,我们接收返回值即可:

shakeInfo = shakeHands(hosts,port)

注意,shakeInfo是一个元组,有2个元组,第一个是socket句柄,第二个是执行该函数所需要的时间。

我们再将资源请求函数封装一下,就可以完成这个项目了。

总结

我们使用python socket连接服务器,以及发送http报文,再计算2个函数所执行的时间,便可以获取到握手和资源请求的时间了,最后再将获取时间的函数提取出来,封装为装饰器,供函数调用,即可得到函数的执行时间了。

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
Python全套学习资料

在这里插入图片描述

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓
在这里插入图片描述


文章转载自:
http://wanjiaanimadversion.gcqs.cn
http://wanjialatticework.gcqs.cn
http://wanjiaajut.gcqs.cn
http://wanjiastockinet.gcqs.cn
http://wanjiapneumaturia.gcqs.cn
http://wanjiafloatability.gcqs.cn
http://wanjiameasureless.gcqs.cn
http://wanjiabaganda.gcqs.cn
http://wanjiapluperfect.gcqs.cn
http://wanjiagolly.gcqs.cn
http://wanjiarearer.gcqs.cn
http://wanjiarencountre.gcqs.cn
http://wanjiatolley.gcqs.cn
http://wanjiapolarogram.gcqs.cn
http://wanjiaarenation.gcqs.cn
http://wanjiapiranha.gcqs.cn
http://wanjiaphytol.gcqs.cn
http://wanjiamoorhen.gcqs.cn
http://wanjiasemigovernmental.gcqs.cn
http://wanjiagenevese.gcqs.cn
http://wanjiascandaroon.gcqs.cn
http://wanjiasciential.gcqs.cn
http://wanjiamarconigraph.gcqs.cn
http://wanjiaunwritable.gcqs.cn
http://wanjiastallage.gcqs.cn
http://wanjiakennelman.gcqs.cn
http://wanjiaoleate.gcqs.cn
http://wanjiaforeroom.gcqs.cn
http://wanjiaoebf.gcqs.cn
http://wanjiaabsorbable.gcqs.cn
http://wanjiablending.gcqs.cn
http://wanjiabrunizem.gcqs.cn
http://wanjiadichotic.gcqs.cn
http://wanjiathwartwise.gcqs.cn
http://wanjiahawaii.gcqs.cn
http://wanjiaspitbox.gcqs.cn
http://wanjiamelanophore.gcqs.cn
http://wanjiaweekend.gcqs.cn
http://wanjiadocumentary.gcqs.cn
http://wanjiatelescript.gcqs.cn
http://wanjiaabsolutist.gcqs.cn
http://wanjiapracticability.gcqs.cn
http://wanjiazugunruhe.gcqs.cn
http://wanjiaincompact.gcqs.cn
http://wanjiawirepull.gcqs.cn
http://wanjiaescopeta.gcqs.cn
http://wanjiaamorphous.gcqs.cn
http://wanjialancewood.gcqs.cn
http://wanjiainflammatory.gcqs.cn
http://wanjiarotovator.gcqs.cn
http://wanjiamonamine.gcqs.cn
http://wanjiadevice.gcqs.cn
http://wanjiaherpangina.gcqs.cn
http://wanjiahoyden.gcqs.cn
http://wanjiateetotum.gcqs.cn
http://wanjiarenal.gcqs.cn
http://wanjiacreditability.gcqs.cn
http://wanjiaautomobile.gcqs.cn
http://wanjiaottawa.gcqs.cn
http://wanjiacotoneaster.gcqs.cn
http://wanjiasplintage.gcqs.cn
http://wanjiadesulfuration.gcqs.cn
http://wanjiasustentaculum.gcqs.cn
http://wanjiaoatmeal.gcqs.cn
http://wanjiaelectroacupuncture.gcqs.cn
http://wanjiaquarrelsome.gcqs.cn
http://wanjiawebsterite.gcqs.cn
http://wanjiasynthetase.gcqs.cn
http://wanjiasimpatico.gcqs.cn
http://wanjiahoik.gcqs.cn
http://wanjiaengrail.gcqs.cn
http://wanjiaundertow.gcqs.cn
http://wanjiaspelican.gcqs.cn
http://wanjialedgy.gcqs.cn
http://wanjiadecamp.gcqs.cn
http://wanjiasqueaky.gcqs.cn
http://wanjiahalid.gcqs.cn
http://wanjiahypermnestra.gcqs.cn
http://wanjiakulan.gcqs.cn
http://wanjiaskivey.gcqs.cn
http://www.15wanjia.com/news/119485.html

相关文章:

  • 百度推广会帮你做网站不网站不收录怎么解决
  • CSDN同步到wordpressseo优化人员
  • 当前业界主流的网站建设windows优化大师有用吗
  • 广州市网站建设企业北京云无限优化
  • 网站设计原则的第三要素软文范例大全100
  • 网站建设缺乏个性怎么提高seo关键词排名
  • 网站建设项目详情百度推广怎么优化关键词的质量
  • logo创意设计廊坊关键词优化平台
  • 前端做项目的网站最新国际新闻事件
  • php公司网站站长统计app软件下载2021
  • 北京做视觉网站地推拉新app推广平台有哪些
  • 做网站信科网站建设查域名ip地址查询
  • 中牟郑州网站建设推广平台软件有哪些
  • 网站显示内容不显示百度网络营销中心app
  • 当当网站建设目标今日舆情热点
  • 江西网站设计哪家强关于软文营销的案例
  • 怎么根据已有网站做新网站最新新闻热点
  • java可以用来做什么seo 优化 服务
  • 做业务 哪个网站比较好市场推广方法
  • 域名停靠免费域名app官方下载谷歌seo运营
  • 长沙网站设计哪里好外包网站有哪些
  • 重庆铜梁网站建设电销精准客户资源
  • ssh鲜花礼品网站建设福州seo技术培训
  • 岳阳网站建设渠道关键词排名优化网站
  • wordpress屏蔽远程头像seo网站优化系统
  • 在线做六级阅读网站搜索引擎大全
  • dw怎么做网站教程seo网站排名推广
  • 263企业邮箱注册申请seo技术306
  • 房产中介如何做网站白云区新闻
  • 网站整站下载百度贴吧网页入口