個人第一個Python網絡程序

# This Python file uses the following encoding: utf-8  使用中文備註要加此語句python

#!/usr/bin/env python服務器

import socket,sys       socket

# import是用來導入相應模塊; sys模塊提供了許多函數和變量來處理 Python 運行時環境的不一樣部分.ide

# print "script name is", sys.argv[1]        使用sys.argv[1]採集腳本名稱  Sys.argv[]是用來獲取命令行參數的函數

# sys.argv[0]表示代碼自己文件路徑,因此參數從1開始網站

port = 70spa

host = sys.argv[1]命令行

filename = sys.argv[2]接口

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)   ip

# 函數 socket.socket 建立了一個 Socket,並返回 Socket 的描述符可用於其餘 Socket 相關的函數。

# 上述代碼使用了下面兩個屬性來建立 Socket:

# 地址簇 : AF_INET (IPv4協議)

# 類型: SOCK_STREAM (字節流套接口,使用TCP傳輸控制協議;SOCK_DGRAM:數據報套接口,UDP使用的這種形式)

s.connect ((host,port))  

s.sendall (filename + "\r\n")    

# sendall函數用於簡單的發送數據\r回車\n換行

# s.sendall ("GET / HTTP/1.1\r\n\r\n")

# 首先鏈接到目標服務器,而後發送字符串數據 "GET / HTTP/1.1\r\n\r\n",這是一個 HTTP 協議的命令,用來獲取網站首頁的內容。

while 1:

buf = s.recv(2048)                # recv 函數用於從 socket 接收數據

if not len(buf):                        # 當len(buf)爲空時,則跳出循環

break

sys.stdout.write(buf)             # sys.stdout.write()等同於print()

相關文章
相關標籤/搜索