在Python中进行网络编程发送消息,你可以使用`socket`库进行TCP通信,或者使用`socket`库进行UDP通信,还可以使用`requests`库进行HTTP请求的发送。下面我将分别介绍如何使用这些方法发送消息。
TCP通信
服务器端
import socket
创建socket对象
sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
绑定IP和端口
ip_port = ("127.0.0.1", 8888)
sk.bind(ip_port)
开始监听
sk.listen(5)
print("等待接受数据...")
接受客户端连接
conn, address = sk.accept()
发送消息
msg = "Hello, World!"
conn.send(msg.encode())
关闭连接
conn.close()
客户端
import socket
创建socket对象
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
连接服务器
ip_port = ("127.0.0.1", 8888)
client.connect(ip_port)
接收消息
data = client.recv(1024)
print(data.decode())
关闭连接
client.close()
连续发送消息(TCP方式)
服务器端
import socket
import random
创建socket对象
sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
绑定IP和端口
ip_port = ("127.0.0.1", 8888)
sk.bind(ip_port)
开始监听
sk.listen(5)
print("等待接受数据...")
while True:
接受客户端连接
conn, address = sk.accept()
发送消息
msg = "Hello, World!"
conn.send(msg.encode())
关闭连接
conn.close()
HTTP请求发送
使用`requests`库发送GET请求
import requests
发送GET请求
response = requests.get("http://www.example.com")
处理响应
print(response.status_code)
print(response.headers)
print(response.text)
使用`socket`库发送HTTP请求
import socket
创建socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
连接服务器
sock.connect(("www.example.com", 80))
发送HTTP请求头
request = b"GET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: close\r\n\r\n"
sock.send(request)
接收响应
buffer = []
while True:
data = sock.recv(1024)
if not data:
break
buffer.append(data)
data = b"".join(buffer)
print(data.decode("utf-8"))
关闭连接
sock.close()
以上示例展示了如何在Python中使用`socket`库进行TCP通信以及如何使用`requests`库发送HTTP请求。你可以根据自己的需求选择合适的方法进行网络编程
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/143985.html