Sơ đồ mạng:
Mô tả:
Bước 1: Cấu hình máy tính ping thành công đến Network Controller
Bấm tổ hợp phím windows +R để mở Command Line (cmd)
Trong màn hình cmd gõ : python –m pip install requests - -user
Bước 3: Viết các hàm thực hiện yêu cầu
Đây là danh sách thiết bị hiện có trong Network Controller
Chạy file delete_device.py
Vậy là chúng ta đã xóa thành công, kiểm tra lại trên Network Controller, nó sẽ báo no devices found!
Thank you.
Mô tả:
- Sơ đồ bài thực hành gồm 1 Server Network Controller và 1 PC được đấu nối với nhau như hình 1.1.
- Trên sơ đồ này, học viên thực hiện kết nối đến Controller, viết hàm get để lấy thông tin bằng ngôn ngữ Python.
- Máy PC phải đáp ứng yêu cầu đã cài đặt trạm làm việc cho developer.
- Học viên thực hiện thực hiện kết nối máy tính đến Server Network Controller
- Cài đặt thư viện requests trên máy tính.
- Viết code bằng Python thực hiện yêu cầu:
- [*=2]Lấy danh sách tất cả các thiết bị kết nối với Network Controller [*=2]Lấy số id của thiết bị cần xóa [*=2]Xóa thiết bị
Bước 1: Cấu hình máy tính ping thành công đến Network Controller
- Máy PC để IP động là có thể ping được Network Controller
Bấm tổ hợp phím windows +R để mở Command Line (cmd)
Trong màn hình cmd gõ : python –m pip install requests - -user
Bước 3: Viết các hàm thực hiện yêu cầu
Code:
[SIZE=22px][FONT=Calibri][FONT=Times New Roman]import requests[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]import json[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]import sys[/FONT][/FONT] [FONT=Times New Roman]from tabulate import tabulate[/FONT][/SIZE] [SIZE=18px][/SIZE]
- Import các thư viện cần thiết
Code:
[SIZE=22px][FONT=Calibri][FONT=Times New Roman]import pgpd[/FONT][/FONT] [FONT=Times New Roman]import get_network_device[/FONT][/SIZE] [SIZE=18px][/SIZE]
- Import các file python để có thể sử dụng lại các hàm đã viết
Code:
[SIZE=22px][FONT=Calibri][FONT=Times New Roman]def get_device_id():[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]inputString = input("Nhap so thu tu cua thiet bi can xoa:")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]device =[][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]resp = pgpd.get(api="network-device")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]response_json = resp.json() [/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]device = response_json["response"][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]number = 0[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]for item in device:[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]number +=1[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]if number==int(inputString):[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]id_seleted = item["id"][/FONT][/FONT] [FONT=Times New Roman]return id_seleted[/FONT][/SIZE] [SIZE=18px][/SIZE]
- Viết hàm để lấy số id của thiết bị cần xóa: đầu tiên ta sẽ in ra màn hình tất cả các thiết bị kết nối với Network Controller ( bài lab trước đã hướng dẫn ), cho người dùng nhập số thứ tự của thiết bị cần xóa. Tiếp theo ta sẽ khai báo mảng device và gọi api để lấy danh sách các thiết bị, mục đích của việc này là để so sánh số thứ tự người dùng vừa nhập với số thứ tự trong danh sách, từ đó lấy ra số id tương ứng.
Code:
[SIZE=22px][FONT=Calibri][FONT=Times New Roman]def delete_device():[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]id = get_device_id()[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]try:[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]resp = pgpd.delete(api="network-device/"+id)[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]status = resp.status_code[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]response_json = resp.json()[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]r = response_json["response"][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print(r)[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]except:[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("Something wrong")[/FONT][/FONT] [FONT=Times New Roman]sys.exit()[/FONT][/SIZE] [SIZE=18px][/SIZE]
- Sau khi có được số id của thiết bị cần xóa, ta gắn thêm số id vào phần api và gửi với phương thức là delete
Code:
[SIZE=22px][FONT=Calibri][FONT=Times New Roman]def main():[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]#Lay danh sach cac thiet bi[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]result = get_network_device.network_device_list()[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print(tabulate(result,[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]headers = ['number','hostname','ip','type','mac address','id'], tablefmt="rst"))[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]result2 = delete_device()[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]if __name__ == '__main__':[/FONT][/FONT] [FONT=Times New Roman]sys.exit(main())[/FONT][/SIZE] [SIZE=18px][/SIZE]
- Đây là hàm main, thực hiện các công việc như lấy danh sách các thiết bị và in ra màn hình, gọi hàm delete_device()
Đây là danh sách thiết bị hiện có trong Network Controller
Chạy file delete_device.py
Vậy là chúng ta đã xóa thành công, kiểm tra lại trên Network Controller, nó sẽ báo no devices found!
Thank you.
Nguồn : VNPRO