# 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()