美文网首页
socket--客户端

socket--客户端

作者: jinjin1009 | 来源:发表于2022-02-09 10:26 被阅读0次

大多数连接都是可靠的TCP连接,创建TCP连接时,主动发起的连接叫客户端,被动响应连接的叫做服务器

#导入socket库
import socket

# AF_INET指定使用IPv4协议,如果使用更先进的IPv6协议,就指定AF_INET6
# SOCK_STREAM 指定使用面向流的TCP协议
# 目前一个socket对象就创建成功,但是还没有建立连接
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

# 80 端口时web服务的标准端口,SMTP服务是25端口,FTP服务是21端口
s.connect(('www.sina.com.cn', 80))

# 发送数据,建立TCP连接后,客户端向新浪服务器发送请求,要求返回首页的内容
s.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection: close\r\n\r\n')

# 接收数据,recv(max) 方法,一次最多接收指定的字节数,因此,在一个while循环中反复接收,直到recv() 返回空数据,表示接收完毕,退出循环
buffer = []
while True:
    # 每次最多接收1k字节:
    d = s.recv(1024)
    if d:
        buffer.append(d)
    else:
        break
data = b''.join(buffer)

# 关闭连接,接收完数据之后,关闭socket,一次完整的网络通信就结束了
s.close()

# 接收到的数据包括HTTP头和网页本身,只需要把HTTP头和网页分离一下,把HTTP头打印出来,网页内容保存到文件
header, html = data.split(b'\r\n\r\n', 1)
print(header.decode('utf-8'))
# 把接收的数据写入文件:
with open('sina.html', 'wb') as f:
    f.write(html)

相关文章

  • socket--客户端

    大多数连接都是可靠的TCP连接,创建TCP连接时,主动发起的连接叫客户端,被动响应连接的叫做服务器

  • bind socket的作用

    开启一个server的流程:创建socket-->bind-->listen-->accept。这里的bind是确...

  • socket--服务端

    和客户端变成相比,服务器变成就要复杂一些。服务器进程首先需要绑定一个端口并监听来自其他客户端的连接,如果某个客户端...

  • IOS-基于CocoaAsyncSocket的服务端的监听(二)

    首先,我们对着这张流程图先搭建一个本地的TCP服务器端要经过的流程就是socket-->bind()-->list...

  • socketserver模块实现并发

    服务端 客户端 (开启多个客户端) 执行如下 客户端1: 客户端2:

  • Redis入门到高可用-3.Redis客户端

    1.Redis客户端 Java客户端:Jedis python客户端:redis-py 2.Java客户端:Jed...

  • Thrift RPC Client 流程

    Thrift客户端有两种:同步客户端和异步客户端。 同步客户端 同步客户端比较简单,先看一下类图。 TServic...

  • qt语音解码cg729客户端

    //客户端头文件 //客户端源码

  • Python socket网络编程

    服务端等待客户端连接并接收客户端信息,然后将客户端信息加上时间戳返回给客户端, 当客户端输入空消息时,连接中断,服...

  • 第3方授权机制

    第3方授权机制: (A)用户打开客户端以后,客户端要求用户给予授权。 (B)用户同意给予客户端授权。 (C)客户端...

网友评论

      本文标题:socket--客户端

      本文链接:https://www.haomeiwen.com/subject/drqikrtx.html