Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình CGI đầu tiên bằng Python

Đây là một liên kết đơn giản, được liên kết với tập lệnh CGI có tên hello.py. Tệp này được lưu trong thư mục / var / www / cgi-bin và có nội dung sau. Trước khi chạy chương trình CGI, hãy đảm bảo rằng bạn đã thay đổi chế độ tệp bằng cách sử dụng chmod 755 hello.py Lệnh UNIX để làm cho tệp có thể thực thi được.

Ví dụ

#!/usr/bin/python
print "Content-type:text/html\r\n\r\n"
print '</html>'
print '</head>'
print '</title>Hello Word - First CGI Program<//title>'
print '<//head>'
print '</body>'
print '</h2>Hello Word! This is my first CGI program<//h2>'
print '<//body>'
print '<//html>'

Đầu ra

Nếu bạn nhấp vào hello.py, thì điều này sẽ tạo ra kết quả sau -

Hello Word! This is my first CGI program

Tập lệnh hello.py này là một tập lệnh Python đơn giản, viết đầu ra của nó trên tệp STDOUT, tức là màn hình. Có một tính năng quan trọng và bổ sung có sẵn là dòng đầu tiên sẽ được in Loại nội dung:text / html \ r \ n \ r \ n . Dòng này được gửi trở lại trình duyệt và nó chỉ định loại nội dung sẽ được hiển thị trên màn hình trình duyệt.

Đến đây chắc hẳn bạn đã hiểu khái niệm cơ bản về CGI và bạn có thể viết nhiều chương trình CGI phức tạp bằng Python. Tập lệnh này có thể tương tác với bất kỳ hệ thống bên ngoài nào khác cũng để trao đổi thông tin như RDBMS.

Tiêu đề HTTP

Dòng Content-type:text / html \ r \ n \ r \ n là một phần của tiêu đề HTTP được gửi đến trình duyệt để hiểu nội dung. Tất cả tiêu đề HTTP sẽ ở dạng sau -

HTTP Field Name: Field Content

Ví dụ

Content-type: text/html\r\n\r\n

Có một số tiêu đề HTTP quan trọng khác mà bạn sẽ sử dụng thường xuyên trong Lập trình CGI của mình.

Sr.No. Tiêu đề &Mô tả
1 Loại nội dung:
Một chuỗi MIME xác định định dạng của tệp được trả về. Ví dụ là Content-type:text / html
2 Hết hạn:Ngày
Ngày thông tin trở nên không hợp lệ. Nó được trình duyệt sử dụng để quyết định khi nào một trang cần được làm mới. Chuỗi ngày hợp lệ có định dạng 01/01/1998 12:00:00 GMT.
3 Vị trí:URL
URL được trả về thay vì URL được yêu cầu. Bạn có thể sử dụng trường này để chuyển hướng một yêu cầu đến bất kỳ tệp nào.
4 Sửa đổi lần cuối:Ngày
Ngày sửa đổi cuối cùng của tài nguyên.
5 Độ dài nội dung:N
Độ dài, tính bằng byte, của dữ liệu được trả về. Trình duyệt sử dụng giá trị này để báo cáo thời gian tải xuống ước tính cho một tệp.
6 Set-Cookie:Chuỗi
Đặt cookie được chuyển qua chuỗi