# tcp协议

TCP 传输模式是目前推荐使用的传输模式之一.

可以和各种协议有多种组合模式.

# TCP JSON 配置

{
    "header": {
        "type": "http",
        "request": {},
        "response": {}
    }
}

request: HTTPRequestObject

HTTP 请求

response: HTTPResponseObject

HTTP 响应

# HTTPRequestObject

{
    "version": "1.1",
    "method": "GET",
    "path": [
        "/"
    ],
    "headers": {
        "Host": [
            "www.baidu.com",
            "www.bing.com"
        ],
        "User-Agent": [
            "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
            "Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/601.1 (KHTML, like Gecko) CriOS/53.0.2785.109 Mobile/14A456 Safari/601.1.46"
        ],
        "Accept-Encoding": [
            "gzip, deflate"
        ],
        "Connection": [
            "keep-alive"
        ],
        "Pragma": "no-cache"
    }
}

version: string

HTTP 版本,默认值为 "1.1"。

method: string

HTTP 方法,默认值为 "GET"。

path: [ string ]

路径,一个字符串数组。默认值为 ["/"]。当有多个值时,每次请求随机选择一个值。

headers: map{ string, [ string ]}

HTTP 头,一个键值对,每个键表示一个 HTTP 头的名称,对应的值是一个数组。

每次请求会附上所有的键,并随机选择一个对应的值。默认值见上方示例。

# HTTPResponseObject

{
    "version": "1.1",
    "status": "200",
    "reason": "OK",
    "headers": {
        "Content-Type": [
            "application/octet-stream",
            "video/mpeg"
        ],
        "Transfer-Encoding": [
            "chunked"
        ],
        "Connection": [
            "keep-alive"
        ],
        "Pragma": "no-cache"
    }
}

version: string

HTTP 版本,默认值为 "1.1"。

status: string

HTTP 状态,默认值为 "200"。

reason: string

HTTP 状态说明,默认值为 "OK"。

headers: map {string, [ string ]}

HTTP 头,一个键值对,每个键表示一个 HTTP 头的名称,对应的值是一个数组。

每次请求会附上所有的键,并随机选择一个对应的值。默认值见上方示例。