[CP_03] Python案例:客户端与服务端-网络通信|SM
2019-03-17 本文已影响0人
Fighting_001
案例1:利用socket(套接字)通信方式,模拟"客户端-服务端"通信
客户端(client)-配置
client.py
import socket
# 生成socket连接对象
client=socket.socket()
# 与目标主机(IP+端口号)建立连接
client.connect(("localhost",1001))
# 向目标程序发送数据
client.send("Hi 2019!".encode())
# 关闭连接
client.close()
服务端(server)-配置
server.py
import socket
# 创建socket连接对象
server=socket.socket()
# 绑定监听的对象(IP+端口)
server.bind(("localhost",1001))
# 监听
server.listen()
# 等待
con,addr=server.accept()
print(con,addr)
# 接收消息
data=con.recv(1024) # 1024字节
print("接收的消息为:",data)
# 关闭
server.close()
在一个窗口运行服务端脚本,再在另一窗口运行客户端脚本,然后观察服务端接收到的信息。如下:
案例2:利用SMTP(简单邮件传输协议)发送Python邮件
电子邮件协议:SMTP、POP3、IMAP4
通过<账号+密码>登录邮箱服务器,然后通过服务器指定的协议,进行邮件发送
安装支持邮件发送的包文件 pyemail:
pip3 install pyemail
代码实现:
sendMail.py
# 邮件发送方:发送方地址,发送方客户端授权密码,SMTP服务器地址(如:smtp.126.com)
# 邮件内容
# 邮件接收方
import smtplib
from email.mime.text import MIMEText
msg_from="xxxxx@xxx.com" # 发送方邮箱地址
pwd="yyyyy" # 登录密码or客户端授权码
to="zzzzz@zzz.com" # 接收方邮箱地址
# 发送主题&内容
subject="SMTP测试"
content="Python发送测试"
# 构造邮件
msg=MIMEText(content,"html","utf-8") # msg邮件对象
msg["Subject"]=subject
msg["From"]=msg_from
msg["To"]=to
try:
# 发送邮件
ss=smtplib.SMTP_SSL("smtp.126.com",465) # 如:smtp.126.com 465端口
ss.login(msg_from,pwd)
ss.sendmail(msg_from,to,msg.as_string())
print("发送ok!")
except Exception as e:
print("发送异常:",e)
执行结果: