Python menyediakan berbagai modul yang memudahkan pembuatan aplikasi jaringan (networking). Modul-modul ini memungkinkan Anda untuk mengembangkan berbagai aplikasi jaringan seperti server web, klien HTTP, aplikasi FTP, dan lainnya. Modul paling dasar untuk networking di Python adalah socket, tetapi ada juga modul lain seperti http.client, requests, dan ftplib yang menyediakan fungsionalitas tingkat lebih tinggi.
Modul socket
Modul socket menyediakan akses ke antarmuka jaringan tingkat rendah. Ini memungkinkan Anda untuk bekerja dengan protokol jaringan seperti TCP dan UDP. Berikut adalah beberapa contoh penggunaan modul socket.
Membuat Server TCP Sederhana
import socket
# Membuat socket objek
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Mendefinisikan host dan port
host = 'localhost'
port = 12345
# Binding socket ke alamat dan port
server_socket.bind((host, port))
# Mendengarkan koneksi masuk
server_socket.listen(5)
print(f'Server berjalan di {host}:{port}')
while True:
# Menerima koneksi dari klien
client_socket, addr = server_socket.accept()
print(f'Koneksi diterima dari {addr}')
# Mengirim pesan ke klien
message = 'Terhubung ke server!'
client_socket.send(message.encode('utf-8'))
# Menerima pesan dari klien
data = client_socket.recv(1024)
print(f'Diterima dari klien: {data.decode("utf-8")}')
# Menutup koneksi klien
client_socket.close()
Membuat Klien TCP Sederhana
import socket
# Membuat socket objek
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Mendefinisikan host dan port server
host = 'localhost'
port = 12345
# Menghubungkan ke server
client_socket.connect((host, port))
# Menerima pesan dari server
message = client_socket.recv(1024)
print(f'Diterima dari server: {message.decode("utf-8")}')
# Mengirim pesan ke server
client_socket.send(b'Halo server!')
# Menutup koneksi
client_socket.close()
HTTP dengan Modul http.client dan requests
Menggunakan http.client
Modul http.client menyediakan antarmuka untuk membuat koneksi HTTP tingkat rendah.
import http.client
# Membuat koneksi ke server
conn = http.client.HTTPConnection("www.example.com")
# Mengirim permintaan GET
conn.request("GET", "/")
# Mendapatkan respon
response = conn.getresponse()
print(response.status, response.reason)
# Membaca data respon
data = response.read()
print(data.decode('utf-8'))
# Menutup koneksi
conn.close()
Menggunakan requests
Modul requests adalah modul pihak ketiga yang sangat populer dan memudahkan permintaan HTTP.
import requests
# Mengirim permintaan GET
response = requests.get('https://api.github.com')
# Mengecek status kode respon
print(response.status_code)
# Membaca konten respon
print(response.text)
FTP dengan Modul ftplib
Modul ftplib menyediakan antarmuka untuk mengakses server FTP.
from ftplib import FTP
# Menghubungkan ke server FTP
ftp = FTP('ftp.example.com')
ftp.login(user='username', passwd='password')
# Mendapatkan daftar file dan direktori
ftp.retrlines('LIST')
# Mengunduh file
with open('example.txt', 'wb') as f:
ftp.retrbinary('RETR example.txt', f.write)
# Mengunggah file
with open('upload.txt', 'rb') as f:
ftp.storbinary('STOR upload.txt', f)
# Menutup koneksi FTP
ftp.quit()
![]()

