0x01 环境

python2、 pycharm

0x02 程序

# -*- coding:UTF-8 -*-
import sockettarget_host='www.baidu.com'
tarfet_port=80
'''
target_host='localhost'
target_port=3345
data='ABCDEF'
'''
# 创建一个socket对象
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 连接客户端
client.connect((target_host,target_port))
# 发送一些数据
client.send("GET / HTTP/1.1\r\nHost:baidu.com\r\n\r\n")
# 接收一些数据
response=client.recv(4096)
print response

0x03 程序解释

下面这段代码是用来创建一个套接字,socket函数有三个参数

client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

分别为:

socket(family,type[,protocal])
  • family是地址系列,主要有:
含义
socket.AF_INET IPv4,默认
socket.AF_INET6 IPv6
  • type是套接字类型,主要有
含义
socket.SOCK_STREAM 创建的套接字基于TCP,默认
socket.SOCK_DGRAM 创建的套接字基于UDP
  • protocal默认就行

当执行完这条语句就会成功创建一个套接字,下面这条语句是与服务器连接,

client.connect((target_host,target_port))

connect函数的参数是地址,地址的用一个元组表示

client.send("GET / HTTP/1.1\r\nHost:baidu.com\r\n\r\n")

这条语句是发送数据语句,socket.send(string[, flags]) 发送TCP数据,返回发送的字节大小,这个函数发送的大小有限,当数据太大,不一定一次会全部发送完数据,注意一下。

response=client.recv(4096)

recv是用来接收TCP数据,限定一次接收字节数,数据以字符串的形式返回

0x04 运行结果

python网络编程---TCP客户端相关推荐

  1. Python网络编程——TCP与UDP

    Python网络编程 TCP(复杂可靠)与UDP(简单不可靠)的区别 1) TCP提供面向连接的传输,通信前要先建立连接(三次握手机制): UDP提供无连接的传输,通信前不需要建立连接. 2) TCP ...

  2. Python网络编程-----TCP

    1.TCP TCP通信模型中,在通信开始之前,⼀定要先建⽴相关的连接,才能发送数据,类似于⽣活中,"打电话".TCP编程分为客户端和服务器端两部分组成,所以我们需要首先完成服务器端 ...

  3. python网络编程—TCP协议(二)

    一.TCP协议的原理图 每个客户端与服务端通讯是互不干扰的 二.注意点 1.tcp服务器─般情况下都需要绑定,否则客户端找不到这个服务器 2.tcp客户端一般不绑定,因为是主动链接服务器,所以只要确定 ...

  4. java基础—网络编程——TCP客户端与服务端交互

    import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import ja ...

  5. Python网络编程【客户端与服务器通信】

    一.将数据写在发送语句中[传统方式] server端代码: import socket #服务器端将socket套接字赋给sock套接字 sock=socket.socket(socket.AF_IN ...

  6. python网络编程——HTTP客户端

    1.Python客户端库. urllib和requests是Python对HTTP协议的应用,使用的两个库.urllib是Python的标准内置库,requests是一个比urllib更强大的第三方库 ...

  7. Python网络编程—TCP套接字之HTTP传输

    HTTP协议 (超文本传输协议) 1.用途 : 网页获取,数据的传输 2.特点: 应用层协议,传输层使用tcp传输 简单,灵活,很多语言都有HTTP专门接口 无状态,协议不记录传输内容 http1.1 ...

  8. [Python 网络编程] TCP、简单socket模拟ssh (一)

    OSI七层模型(Open System Interconnection,开放式系统互联) 应用层网络进程访问应用层:为应用程序进程(例如:电子邮件.文件传输和终端仿真)提供网络服务:提供用户身份验证表 ...

  9. python网络编程—TCP协议(一)

    一.TCP协议示意图: listen():监听客户端的连接,客户端有链接,listen马上就有返回. accept():连接之后,会返回客户端的信息(ip地址.端口号),如果没有连接则一直堵塞.连接成 ...

最新文章

  1. Linux的内存理解
  2. JavaScript 模块化七日谈
  3. sudo apt-get update 与 sudo apt-get upgrate 的区别
  4. 利用XML实现通用WEB报表打印 卢彦
  5. MariaDB 10的复制 集群 高可用搭建 大表拆分【持续更新中】
  6. linux下gate版本管理,Linux安装使用GoldenGate
  7. wpgcms---列表页数据渲染
  8. Python——rrdtool模块的安装
  9. 有り様、状態、様子 の 区別
  10. word2016实现制表法设置公式居中,公式居中,编号右对齐
  11. form表单file,select选择后自动提交
  12. OFFICE技术讲座:段落五种对齐方式的说明
  13. ABP框架----添加权限
  14. Python爬虫---汽车之家字体反爬
  15. 【音频】削波失真(爆音)问题定位与解决
  16. 2020用户行为分析领域最具商业合作价值企业盘点
  17. 网易云MUSIC年终奖0.5?听到消息我扔了耳机
  18. linux编译poco静态库,iOS——为Xcode编译POCO C++静态库
  19. ipa在线安装搭建_iOS12.4.1 越狱无法安装?教你百分百安装
  20. 从今天开始学习C语言,力求做一个最棒的Linux C开发人员

热门文章

  1. FROONT – 超棒的可视化响应式网页设计工具
  2. response对象的使用
  3. HTML的display属性将行内元素、块状元素、行内块状元素互相转换以及三者的区别
  4. hinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
  5. 2090. 「ZJOI2016」旅行者 分治,最短路
  6. 08 Spring框架 AOP (一)
  7. spark SQL(三)数据源 Data Source----通用的数据 加载/保存功能
  8. Java 性能优化实战记录(2)---句柄泄漏和监控
  9. Win32动态库 Lib文件哪去了
  10. 分割范围Codeforces Round #181 (Div. 2)