• 技术文章 >后端开发 >Python教程

    Python3中网络编程常用模块的详解

    黄舟黄舟2017-08-09 10:52:50原创1257
    一、socket模块

    网络服务都是建立在socket基础之上的,socket是网络连接端点,是网络的基础;每个socket都被绑定到指定的IP和端口上;

    1、首先使用socket(family=AF_INET,type=SOCK_STREAM,proto)函数创建一个对象;

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

    创建成功后用bind('127.0.0.1',1051)绑定ip地址和端口,如果地址为空则表示本机;

    2、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方法关闭网络连接;

    二、httplib模块

    (一)httplib模块内提供了HTTPConnection对象和HTTPRresponse对象;

    当创建一个HTTPConnection对象时可用方法有:

    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()

    (二)HTTPResponse 对象方法:

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

    三、ftp模块

    1、FTP(host,user,passwd,acct) 创建一个FTP连接对象,此对象的方法有:

    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)        登录

    附:可使用poplib模块和smtplib模块收发邮件

    以上就是Python3中网络编程常用模块的详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Python3 网络编程 详解
    上一篇:Python2.7中关于SQLite3基本操作的示例详解 下一篇:Python3中socket实现同步通信的实例讲解
    PHP编程就业班

    相关文章推荐

    • 分享10个有趣且实用的Python模块,看看他们的功能吧!• 简单谈谈Python中的闭包• python fabric实现远程操作和部署示例• Python深入学习之装饰器• Python的Flask开发框架简单上手笔记

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网