1.获取百度返回信息

import socket
host = "www.baidu.com"
port = 80
ip = socket.gethostname(host)  #获取访问百度的时候解析出来的IP地址。(vip)
print ("connect server ip = {0}".format(ip))
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, port))
#s.sendall(" ")                   #python2在sendall()中必须是字符串(str)形式 ,此处不用这种形式。
s.sendall("GET / HTTP/1.1 \r\nHost:www.baidu.com\r\n\r\n".encode("utf-8"))     #python3在sendall()中必须是字节(beat)形式
##在制定的http层次的协议上,百度有自己的规定,如果发过去的字符串不符合规定,百度是不会返回信息的,要符合对方的规则。
data = s.recv(2048)    #接收数据
print (data)

2.socket实现ssh连接终端

客户端:

import socket
import time
if __name__ == "__main__":host = "192.168.0.103"port = 12345s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect((host, port))stat = 1while 1:cmd = raw_input("{0} >>> ".format(host))if cmd.lower() == "exit":exit()if not cmd:continues.sendall(cmd)data = s.recv(2048)if len(data) > 0:stat = 1print ("{0}".format(data))else:stat += 1time.sleep(1)if stat == 5:break

服务端:

import socket
import commands
import timehost = "192.168.0.103"
port = 12345
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print ("server host = {0} port = {1}".format(host, port))
s.bind((host, port))
s.listen(6)
conn, addrclient = s.accept()
print ("connect from {0}".format(addrclient))
stat = 1
while 1:cmd = conn.recv(2048)if len(cmd) > 0:stat = 1status, output = commands.getstatusoutput(cmd)conn.sendall(output)else:stat += 1time.sleep(1)if stat == 5:break

这个脚本还欠缺很多功能,也存在不少bug,还待后期去完善和修复,待续ing...

3.专门用来SSH的模块

在python模块里面专门用来ssh连接的模块:paramiko

用网页就可以连接上服务端,基于ssh协议,不需要写服务端

是一个ssh版的客户端

安装paramiko

# pip install paramiko

创建连接脚本:

vim para.py     #注意名字不能用paramiko.py,不然脚本执行过程中会有问题。

import time
import paramikoclient = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())     #用来设置know-host
client.connect(hostname="192.168.0.103", port=22, username="root", password="1q2w3e")
stat = 1
while 1:cmd = raw_input("{0}>> ".format('192.168.0.103'))if cmd:stat = 1stdin, stdout, stderr = client.exec_command(cmd)for std in stdout.readlines():print (std)else:stat += 1time.sleep(1)if stat == 5:break

执行即可连接服务器。

转载于:https://blog.51cto.com/286577399/2057229

47. Python socket编程 2相关推荐

  1. [Python_7] Python Socket 编程

    0. 说明 Python Socket 编程 1. TCP 协议 [TCP Server] 通过 netstat -ano 查看端口是否开启 # -*-coding:utf-8-*-"&qu ...

  2. Python Socket 编程——聊天室示例程序

    上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型.本文再通过一个例子来加强一下对 Socket 编程的 ...

  3. python socket编程_Python Socket编程实现网络编程

    对于有经验的开发人员来说,掌握的编程语言应该是不少的.在这些编程语言中,网络编程的应用时必不可少的.其中Python也是这样的编程语言.我们今天将会在这里为大家详细介绍一下Python Socket编 ...

  4. python/socket编程之粘包

    python/socket编程之粘包 粘包 只有TCP有粘包现象,UDP永远不会粘包. 首先需要掌握一个socket收发消息的原理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 发 ...

  5. PYTHON SOCKET编程简介

    原文地址: PYTHON SOCKET编程详细介绍 Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 Socke ...

  6. python socket编程 实现简单p2p聊天程序

    转载自:https://www.cnblogs.com/wuxie1989/p/7204887.html python socket编程 实现简单p2p聊天程序 目标是写一个python的p2p聊天的 ...

  7. python socket编程详细介绍

    Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 SocketServer, 它提供了服务器中心类,可以简化网络 ...

  8. python socket编程_Python学习记录-socket编程

    1. OSI七层模型详解 2. Python socket 什么是 Socket? Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答 ...

  9. Python Socket 编程详细介绍

    Python 提供了两个基本的 socket 模块: Socket 它提供了标准的BSD Socket API. SocketServer 它提供了服务器重心,可以简化网络服务器的开发. 下面讲解下 ...

最新文章

  1. 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器
  2. publishing failed with multiple errors
  3. 深入研究嵌入式操作系统的绝佳教材
  4. docker4dotnet #3 .net猿和小鲸鱼的苹果山之旅
  5. Elasticsearch的用例:灵活的查询缓存
  6. 计算当前时间到指定日期之间距离多久(494天11866小时711960分钟42717625秒)
  7. Hello This Cruel World!
  8. css 定位 0302
  9. python多进程 保活_老板,你这个爬虫保活吗?
  10. java中的枚举类型
  11. JAVA读取EMF文件并转化为PNG,JPG,GIF格式
  12. 数组做函数参数的退化问题
  13. 超星的Pdg/Pdz转带书签目录Pdf的好方法
  14. BI系统是如何进行数据分析的?
  15. 生物信息学学习笔记(二)--蛋白质的结构分析与预测Structural analysis prediction of proteins
  16. IT人员应该掌握的30种技能
  17. Archlinux kde 美化
  18. 解决问题就像剥洋葱,解决的关键是基础知识
  19. EMNIST: an extension of MNIST to handwritten letters(数据集简介)
  20. 怎样轻松旋转PDF文件

热门文章

  1. 大数据之-Hadoop之HDFS_HDFS的内容介绍---大数据之hadoop工作笔记0047
  2. VmWare工作笔记001---弹出错误提示无法连接mks:套接字连接尝试次数太多
  3. slowfast 跑多卡的时候遇到问题
  4. One Millisecond Face alignment with an Ensemble of Regression Trees
  5. 机器学习与计算机视觉(opencl编程)
  6. python编程(import头文件)
  7. win32开发(画笔、刷子、字体)
  8. 嵌入式操作系统内核原理和开发(开篇)
  9. 一步一步写算法(之图的保存)
  10. java面向对象设计_Java面向对象设计