个人第一个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()

相关文章
相关标签/搜索