zoukankan      html  css  js  c++  java
  • (17)python 网络编程

    TCP连接的断点是由一个IP地址和一个端口号来唯一标识的

    客户端/服务器

    客户端总是最开始申请连接的一端,服务器则是等待客户端连接的一段

    服务器的端口号如果不是特殊用土的一般应该大于1024,客户端则由操作系统随机挑选一个端口号

    底层接口Socket

    1、服务端

    创建一个socket对象

    s=socket.socket()

     获得计算机名

    host=socket.gethostname()
    >>> import socket
    >>> s=socket.socket()
    >>> host=socket.gethostname()
    >>> print host
    PC201609230952
    >>> 

    实际计算机名:

    socket对象的bind函数来绑定地址和端口号

    s.bind((host,prot))

    设定多少人可以连接到服务器(还没开始连)

    s.listen(10)

    服务器调用accept方法后,会进入waiting状态。当有客户端请求连接时,accept会返一个元组,里面包含两个元素,

    connection, address = s.accept()

    第一个c是一个新的连接客户端的socket,第二个是客户端的IP地址

    发送给客户端信息

    c.send('hello')

    关闭socket连接

    c.close()

    2、客户端

    urllib包包含4个模块,在python3里urllib导入要用包名加模块名的方式。

    1.urllib.request

    该模块主要用于打开HTTP协议的URL

    import urllib.request

    抓取某个网址的所有HTML代码,返回一个request对象。(网址要带上协议)

    urlobject=urllib.request.urlopen('http://www.baidu.com')

    用对象的read方法

    print (urlobject.read(10))#打印出前10个字符,游标向后移动10位。如果read方法里不写数字默认打印出全部代码

    返回字节型数据

    >>> type(urlobject.read(10))
    <class 'bytes'>
    >>> print (urlobject.read(10))
    b'<!DOCTYPE '
    >>> print (urlobject.read(15))
    b'html>
    <!--STATU'
    >>> print (urlobject.read(15))
    b'S OK-->
    
    
    
    
    '
    >>> 

    执行了三次观察了下,都已字母b开头加一个字符串,字符串里面的字符串就是read括号里的数量, 或 占一个字符

    2.urllib.parse

    3.urllib.error

    4.urllib.robotparser

  • 相关阅读:
    InnoDB和MyISAM区别总结
    jquery判断checkbox是否被选中
    手机网站重构经验分享(S60V3篇)
    域名A记录、MX记录、CNAME、TTL
    ubuntu apache2配置详解(含虚拟主机配置方法)
    IP分片攻击
    Linux+Apache+Mysql+PHP典型配置
    apache配置优化测试
    PHP 正则表达式资料
    人人网UGC技术广播站
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/7043476.html
Copyright © 2011-2022 走看看