Python爬虫--网络编程,,Python 网络编
Python爬虫--网络编程,,Python 网络编
Python 网络编程
Python提供两个基本的Socket模块:
Socket,提供了标准的BSD Sockets APISocketServer, 提供了服务器中心类,可以简化网络服务器的开发1、Socket类型
套接字格式为: socket(family, type[,protocall]),使用给定的地址族、套接字类型、协议类型(默认为0)创建套接字。
2、Socket函数
TCP编程
服务端
创建Socket,绑定Socket到本地IP和端口开始监听连接进入循环,不断接收客户端的连接请求接收传来的数据,并发送给对方数据、传输完毕后,关闭Socket# coding=utf8"""1. 创建Socket,绑定Socket到本地IP和端口2. 开始监听连接3. 进入循环,不断接收客户端的连接请求4. 接收传来的数据,并发送给对方数据5. 传输完毕后,关闭Socket"""import socketimport threadingimport timedef dealClient(sock, addr): # 4. 接收传来的数据,并发送给对方数据 print 'Accept new connection from %s:%s...' % addr sock.send(b'Hello, I am server!') while True: data = sock.recv(1024) time.sleep(1) if not data or data.decode('utf-8') == 'exit': break print '-->>%s!' % data.decode('utf-8') sock.send('Loop_Msg: %s!' % data.decode('utf-8').encode('utf-8')) # 5. 传输完毕后,关闭Socket sock.close() print 'Connection from %s:%s closed.' % addrif __name__ == '__main__': # 1. 创建Socket,绑定Socket到本地IP和端口 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(('127.0.0.1',9999)) # 2. 开始监听连接 s.listen(5) # listen(n)传入的值, n表示的是服务器拒绝(超过限制数量的)连接之前,操作系统可以挂起的最大连接数量。n也可以看作是"排队的数量" print 'Waiting for connection...' # 3. 进入循环,不断接收客户端的连接请求 while True: sock, addr = s.accept() t = threading.Thread(target=dealClient, args=(sock, addr)) t.start()
客户端
创建Socket,连接远端地址连接后发送数据和接收数据传输完毕后,关闭Socket# coding=utf8"""1. 创建Socket,连接远端地址2. 连接后发送数据和接收数据3. 传输完毕后,关闭Socket"""import sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(('127.0.0.1', 9999))print '-->>'+s.recv(1024).decode('utf-8')s.send(b'Hello I am a client')print '-->>'+s.recv(1024).decode('utf-8')s.send(b'exit')s.close()
Python爬虫--网络编程
相关内容
- python列表操作大全,,python的列表是
- python安装h5py,,sudo pip i
- 如何使用python远程操作linux,,在云服务测试中,往往
- python标准库:base64模块,,Base64是一种用
- python基础知识--标志位的设定,,在单层循环的退出中,
- python class和class(object)用法区别,,开始是看廖大的教程
- Python 代码混淆和不可告人的加密技术!,,Python进行商
- python可变类型和不可变类型,python中可变与不可变,一
- python3控制语句---选择结构语句,python的控制语句,
- python中字典,python访问字典,字典中key:不可改
评论关闭