怎样学Python 第二十二课 Python网络编程基础

欢迎大家回来!

在上一篇文章中,我们介绍了如何导入模块以及如何使用它们。

在本文中,我们将接触对Python黑客来说至关重要的模块:socket

实质上,套接字模块允许我们制作,维护和使用一个连接,我们可以尝试连接到我们想要的任何端口,连接到我们想要的任何地址,我们也可以使用这些连接来回发送信息。

在本文中,我们将建立一个客户端连接并发送和接收一些数据!

第1步:建立客户端套接字

现在,当我说我们将成为客户端时,我的意思是我们要请求并启动连接,首先,我们需要导入套接字模块,然后我们要创建一个套接字对象。

我们将导入整个模块,因此无论何时我们调用某个模块,我们都需要在它之前插入socket,现在我们来执行这些操作:

OK,我们已经初始化一个socket对象。 它可能看起来有点奇怪,但如果你仔细想一想,那就完全合理了。

我们将socket类从socket模块中调出,因此称为socket.socket。我们给了这个类一些参数,我们也从套接字模块中提取了参数,socket有很多参数,但是有些参数是你会经常看到的。

第2步:连接到服务器

现在我们有了socket,我们可以将它连接到服务器上,我们将在这里与127.0.0.1(localhost)建立连接,为了连接到对方的地址,我们需要使用connect方法,当我们使用这个方法时,我们需要给出服务器的IP或域名,后面跟着端口号(注:连接之前请关闭防火墙,并安装一个apahce2中间件作为测试服务器)。

这两个都需要写在一个元组中,现在连接我们的套接字:

现在我们的套接字已连接,我们可以通过它发送和接收数据。

第3步:发送和接收数据

现在我们将socket连接到端口为80的本地地址localhost,当我们建立客户端连接时,我们发送数据的源端口号将由socket随机选择,所以我们不必担心!

现在我们已连接到本地,我们继续并发送一个HTTP GET请求,让我们请求本地的主页。我们可以使用send方法发送请求,并且我们可以使用recv方法接收响应。

现在让我们发送/接收这些信息:

OK,我们已经能够发送HTTP GET请求并接收响应了!

总结

今天我们学习了socket模块的基础知识。这些基础知识包括如何构建客户端套接字,如何与该套接字建立连接以及如何通过该套接字发送和接收数据。

还有很多内容需要报道,但我们会在下一篇文章中完成。

作为一个小公告,我已经决定我们不会涵盖每个模块的每一寸,我们只会介绍他们最常用的功能和用途。

练习

编写一个脚本,使用GET请求index.html,功能如下:

给定三个网址:

www.qq.com

脚本每1分钟检测一下这个三个网络的连通情况,如果发现不连通,则打印Network can not reach,如果连通,打印Network health is good。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180330G1B6K700?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券