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

  • 相关阅读:
    PHP webserver 之 soap wsdl
    PHP webserver 之 soap 生成wsdl文件
    PHP webserver 之 soap non-wsdl
    CodeForces 729A Interview with Oleg (模拟)
    CodeForces 727A Transformation: from A to B (DFS)
    POJ 3111 K Best (二分)
    POJ 2456 Aggressive cows (二分)
    POJ 1064 Cable master(二分)
    POJ
    Codeforces 869B
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/7043476.html
Copyright © 2011-2022 走看看