> 文章列表 > python中使用socket请求http接口

python中使用socket请求http接口

python中使用socket请求http接口

在python中,一切的网络通信均基于socket,所以对于网络通信的理解应该从socket入手。
socket可以实现和不同的机器通信,从多个案例总结一下就是在请求不同协议的服务时,第一次的入参有一定的要求,我们只要按照约定的写法,就可以获取到已经发布的服务信息
import socket
import re
import oshost = '116.235.135.149'
port = 8765client_ser = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
client_ser.connect((host,port))request = 'GET /get_file_list HTTP/1.1\\r\\nHost: 116.235.135.149\\r\\nConnection: close\\r\\n\\r\\n'
print(request)
result = client_ser.sendall(request.encode())
print(result)
print('+'*10)recv = client_ser.recv(1024).decode()
print(recv)

如上,是使用socket方法请求http接口的方法,只是第一次发送的消息能够让机器识别,就可以获取http服务器返回来的数据。基于此,我们就可以理解,有些http请求需要获取密钥才可以进行连接,也就好理解了,在接收到第一次传输的消息后,我们再进行密钥传输或者一次性进行密钥传输,就可以返回想要的数据,其实就相当于有人给自己的房子加了一个锁,我们有钥匙才可以打开门进去。封装的太过复杂会带来一定的困扰,仅仅是使用更加便利,但是若是没有对底层原理的理解,那么每次得到的结果其实都是会带来一定的迷惑性。而且对于开发来讲,实现功能只是一方面,稀里糊涂的实现了对应的功能,其实更让人无法接受。