1. Simple client-server communication
# Server code
import socket

host = '127.0.0.1'
port = 5000

s = socket.socket()
s.bind((host, port))
s.listen(1)

conn, addr = s.accept()
print('Connected by', addr)
data = conn.recv(1024)
conn.sendall(data)
conn.close()

# Client code
import socket

host = '127.0.0.1'
port = 5000

s = socket.socket()
s.connect((host, port))
s.sendall(b'Hello, world')
data = s.recv(1024)
s.close()

print('Received', repr(data))
  1. Sending email using SMTP
import smtplib

from_addr = 'example@gmail.com'
to_addr = 'recipient@example.com'
subject = 'Test email'
body = 'This is a test email sent using Python'

message = f'Subject: {subject}\n\n{body}'

smtp_server = 'smtp.gmail.com'
smtp_port = 587
smtp_username = 'example@gmail.com'
smtp_password = 'password'

with smtplib.SMTP(smtp_server, smtp_port) as smtp:
    smtp.ehlo()
    smtp.starttls()
    smtp.login(smtp_username, smtp_password)
    smtp.sendmail(from_addr, to_addr, message)
  1. Retrieving web page using HTTP
import http.client

conn = http.client.HTTPSConnection('www.google.com')
conn.request('GET', '/')
response = conn.getresponse()
print(response.status, response.reason)
data = response.read()
print(data.decode('utf-8'))
  1. Downloading a file using FTP
import ftplib

ftp_server = 'ftp.example.com'
ftp_username = 'username'
ftp_password = 'password'

with ftplib.FTP(ftp_server, ftp_username, ftp_password) as ftp:
    ftp.cwd('/public_html')
    with open('example.txt', 'wb') as f:
        ftp.retrbinary('RETR example.txt', f.write)
  1. Parsing XML using ElementTree
import xml.etree.ElementTree as ET

xml_string = '''
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J.K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
</bookstore>
'''

root = ET.fromstring(xml_string)

for book in root.findall('book'):
    title = book.find('title').text
    author = book.find('author').text
    year = book.find('year').text
    price = book.find('price').text
    print(f'{title} by {author} ({year}) - ${price}')
  1. Using UDP for simple message exchange
# Server code
import socket

host = '127.0.0.1'
port = 5000

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((host, port))

while True:
    data, addr = s.recvfrom(1024)
    print('Received', data.decode('utf-8'), 'from', addr)
    s.sendto(b'ACK', addr)

# Client code
import socket

host = '127.0.0.1'
port = 5000

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

while True:
    message = input('Enter message: ')
    s.sendto(message.encode('utf-8'), (host, port))
    data, addr = s.recvfrom(1024)
    print('Received', data.decode('utf-8'), 'from', addr)
  1. Using JSON for data exchange
import json

data = {
    'name': 'John Smith',
    'age': 35,
    'email': 'john.smith@example.com'
}

json_string = json.dumps(data)
print(json_string)

decoded_data = json.loads(json_string)
print(decoded_data)
  1. Using sockets to create a chat application
# Server code
import socket
import threading

host = '127.0.0.1'
port = 5000

clients = []

s = socket.socket()
s.bind((host, port))
s.listen()

def handle_client(conn, addr):
    while True:
        data = conn.recv(1024)
        if not data:
            break
        for client in clients:
            if client != conn:
                client.sendall(data)
    conn.close()

while True:
    conn, addr = s.accept()
    clients.append(conn)
    print('Connected by', addr)
    threading.Thread(target=handle_client, args=(conn, addr)).start()

# Client code
import socket
import threading

host = '127.0.0.1'
port = 5000

s = socket.socket()
s.connect((host, port))

def receive_messages():
    while True:
        data = s.recv(1024)
        if not data:
            break
        print(data.decode('utf-8'))

threading.Thread(target=receive_messages).start()

while True:
    message = input('Enter message: ')
    s.sendall(message.encode('utf-8'))
  1. Using sockets to transfer files
# Sender code
import socket

host = '127.0.0.1'
port = 5000

filename = 'example.txt'

s = socket.socket()
s.connect((host, port))

with open(filename, 'rb') as f:
    data = f.read()
    s.sendall(data)

s.close()

# Receiver code
import socket

host = '127.0.0.1'
port = 5000

filename = 'example.txt'

s = socket.socket()
s.bind((host, port))
s.listen(1)

conn, addr = s.accept()
print('Connected by', addr)

with open(filename, 'wb') as f:
    while True:
        data = conn.recv(1024)
        if not data:
            break
        f.write(data)

conn.close()
  1. Using sockets to create a simple HTTP server
import socket

host = '127.0.0.1'
port = 5000

s = socket.socket()
s.bind((host, port))
s.listen(1)

while True:
    conn, addr = s.accept()
    print('Connected by', addr)

    data = conn.recv(1024)
    request = data.decode('utf-8').split('\r\n')
    method, path, protocol = request[0].split()

    if method == 'GET':
        if path == '/':
            with open('index.html', 'rb') as f:
                response_body = f.read()
            response_headers = 'HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nContent-Length: {}\r\n\r\n'.format(len(response_body))
            conn.sendall(response_headers.encode('utf-8') + response_body)
        else:
            response_headers = 'HTTP/1.1 404 Not Found\r\n\r\n'
            conn.sendall(response_headers.encode('utf-8'))
    else:
        response_headers = 'HTTP/1.1 405 Method Not Allowed\r\n\r\n'
        conn.sendall(response_headers.encode('utf-8'))

    conn.close()
Network program python give me 10 Sample codes

原文地址: https://www.cveoy.top/t/topic/lS0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录