Maison  >  Article  >  développement back-end  >  Explication détaillée des modules couramment utilisés pour la programmation réseau en Python3

Explication détaillée des modules couramment utilisés pour la programmation réseau en Python3

黄舟
黄舟original
2017-08-09 10:52:502197parcourir

1. Module Socket

Les services réseau sont basés sur des sockets sont des points de terminaison de connexion réseau et la base du réseau est liée au réseau. IP et port spécifiés ;

1. Utilisez d'abord la fonction socket(family=AF_INET, type=SOCK_STREAM, proto) pour créer un objet

family            地址参数,还可以有AF_INET6,AF_UNIX;
  type               socket类型;
  proto             协议类型,可选参数

Créer Après succès, utilisez bind( '127.0.0.1',1051) pour lier l'adresse IP et le port. Si l'adresse est vide, cela signifie la machine locale

2. Méthode objet Socket :

listen(backlog)              监听所有socket对象创建的连接,backlog指定连接队列数,最小为1,最大一般为5;
connect(address)          连接到服务端
connect_ex(address)     两个都可以连接到服务端,不同的是第一个返回一个错误,第二个返回一个异常;
accept()                        接收来自客户端的数据,返回一个新的socket对象和客户端地址;
recv(bufsize,flags)         仅返回所接收的字符串;bufsize指定接收缓冲区的大小,flags为可选参数,表示接收标志;
recvfrom(bufsize,flags) 返回所接收的字符串和地址;
send(string,flags)          向已经连接的socket发送数据;
sendall(string,flags)      与send不同的是将会一直发送完全部数据;
sendto(string,flags,address) 可以向一个未连接的socket发送数据;
makefile(mode,bufsize)        将socket关联到文件对象上,两个参数都是可选的,mode文件模式,bufsize缓冲区大小;
close()                          完成通信后,应使用close方法关闭网络连接;

2. Module httplib

(1) Le module httplib fournit des objets HTTPConnection et HTTPRresponse

Méthodes disponibles lors de la création d'un objet HTTPConnection Il existe :

1、request(method,url,body,headers)     向服务器发送请求;
       method  方法,有"GET","POST"等待连接
       body       发送的数据
       headers  发送的HTTP头
2、getresponse() 返回一个HTTPResponse对象;
3、close()            关闭与服务器的连接;
4、send(data)     发送数据;
5、putrequest(request,selector,skip_host,skip_accep_encoding) 向服务器发送请求;
         request          所发送的操作;
         selector          进行操作的URL;
         skip_host       若为True则禁止自动发送"POST";
         skip_accep_encoding 若为True则禁止自动发送"Accept-Encoding:headers"
6、putheader(headers,argument,...)
         headers         发送的HTTP头;
         argument      发送的参数;
7、endheaders()

(2) Méthodes d'objet HTTPResponse :

1、read()                   获得服务器的响应主体;
 2、getheader(name,default)  获取服务器响应的HTTP头;
 3、version()               查看HTTP协议的版本;
 4、status()                 查看HTTP协议的状态;
 5、reason()

3. module ftp

1. FTP (hôte, utilisateur, mot de passe, acct) Créer un objet de connexion FTP Les méthodes de cet objet sont :

getwelcome()                      获得FTP服务器的欢迎信息
       abort()                                中断文件传输
       sendcmd(command)           发送命令,command为一个字符串
       voidcmd(command)            发送命令,但没有返回值
       retrbinary(command,callback,maxblocksize,rest) 下载文件(二进制)
              command             由"RETR 文件名  组成"
              callback                回调函数
              maxblocksize        每次传输最大字节数
              rest                       文件续传位置
       retrlines(command,callback)              下载文件(ASCII)
       storbinary(command,file,blocksize)    以二进制上传文件;
       storlines(command,file)                     以ASCII形式上传文件;
       dir()                                                   获取当前目录的内容列表;
       rename(fromname,toname)               重命名
       delete(filename)                                删除文件
       cwd(pathname)                                 改变当前目录
       mkd(pathname)                                创建目录
       rmd(dirname)                                    删除服务器上的目录
       size(filename)                                    获取文件大小
       set_pasv(boolean)                            设置传输模式
       quit()                          
       close()                                               关闭服务器的连接
2、set_debuglevel(level)           设置调试级别
3、connect(host,port)                配置host
4、login(user,passwd,acct)        登录

Pièce jointe : Vous pouvez utiliser le module poplib et le module smtplib pour envoyer. et recevez des emails

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn