(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>\n<!--STATU'
>>> print (urlobject.read(15))
b'S OK-->\n\r\n\r\n\r\n\r'
>>>
执行了三次观察了下,都已字母b开头加一个字符串,字符串里面的字符串就是read括号里的数量,\n 或 \r 占一个字符
2.urllib.parse
3.urllib.error
4.urllib.robotparser
(17)python 网络编程的更多相关文章
- Python 网络编程(二)
Python 网络编程 上一篇博客介绍了socket的基本概念以及实现了简单的TCP和UDP的客户端.服务器程序,本篇博客主要对socket编程进行更深入的讲解 一.简化版ssh实现 这是一个极其简单 ...
- Python 网络编程(一)
Python 网络编程 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. ...
- python 网络编程:socket
在学习socket之前,我们先复习下相关的网络知识. OSI七层模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层.OSI七层模型是由国际标准化组织ISO定义的网络的基本结构,不仅包括一 ...
- Python网络编程基础|百度网盘免费下载|零基础入门学习资料
百度网盘免费下载:Python网络编程基础|零基础学习资料 提取码:k7a1 目录: 第1部分 底层网络 第1章 客户/服务器网络介绍 第2章 网络客户端 第3章 网络服务器 第4章 域名系统 第5章 ...
- Python网络编程基础 PDF 完整超清版|网盘链接内附提取码下载|
点此获取下载地址提取码:y9u5 Python网络编程最好新手入门书籍!175个详细案例,事实胜于雄辩,Sockets.DNS.Web Service.FTP.Email.SMTP.POP.IMAP. ...
- Python网络编程之网络基础
Python网络编程之网络基础 目录 Python网络编程之网络基础 1. 计算机网络发展 1.1. OSI七层模型 1.2. 七层模型传输数据过程 2. TCP/IP协议栈 2.1 TCP/IP和O ...
- Python学习(22)python网络编程
Python 网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的 ...
- Day07 - Python 网络编程 Socket
1. Python 网络编程 Python 提供了两个级别访问网络服务: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口 ...
- python网络编程-01
python网络编程 1.socket模块介绍 ①在网络编程中的一个基本组件就是套接字(socket),socket是两个程序之间的“信息通道”. ②套接字包括两个部分:服务器套接字.客户机套接字 ③ ...
随机推荐
- [Leetcode] Best time to buy and sell stock 买卖股票的最佳时机
Say you have an array for which the i th element is the price of a given stock on day i. If you were ...
- BZOJ2460 [BeiJing2011]元素 【线性基】
2460: [BeiJing2011]元素 Time Limit: 20 Sec Memory Limit: 128 MB Submit: 1675 Solved: 869 [Submit][St ...
- CF893F Subtree Minimum Query 解题报告
CF893F Subtree Minimum Query 输入输出格式 输入格式: The first line contains two integers \(n\) and \(r\) ( \(1 ...
- vue-transition-fade
<!Doctype> <html> <head> <meta charset="utf-8"> <meta name=&quo ...
- sublime2创建一个html5的snippets文件
背景:跟了一个网上课程,老师哗啦啦敲代码,屏幕上只敲了几个字,键盘一操作,瞬间一大溜代码,看得我心惊肉跳连忙暂停抄抄抄. 举个简单的例子,我需要创建一个html文件.但是我不想每次都敲固定的格式.那么 ...
- oracle查看字符集和修改字符集
oracle查看字符集和修改字符集 : 查看数据库服务器的字符集: select userenv('language') from dual ; 登陆用dba: 停掉数据库 : shutdown im ...
- iBatis之Iterator的使用
一:前言 现在这个项目使用的是iBatis,我刚刚开始的时候说是用MyBatis,因为我以前用过,觉得还是比较好用的啊,而且不像iBatis样,查什么一个字段不能多也不能少,觉得好无语啊. 二:内容 ...
- Go 实现 soundex 算法
[转]http://www.syyong.com/Go/Go-implements-the-soundex-algorithm.html SOUNDEX 返回由四个字符组成的代码 (SOUNDEX) ...
- Hadoop之yarn调用机制
1,Mapper方法:如果在map方法之前执行一些程序用setup,之后用cleanup.同理在Reducer方法中也有setup和cleanup. 2,map任务是并行执行,没有谁先谁后,如果是两个 ...
- idea 将工程项目打包成war
1.File--Project structure ---- Artifacts ----- + -----web Application :Archive ---for ' **:war explo ...