记录一个脚本,使用shell 请求多个http接口

#!/bin/bash

# 并发请求的数量
CONCURRENT_REQUESTS=10

# URL 文件,假设每行一个 URL
URL_FILE="urls.txt"

# 检查 URL 文件是否存在
if [ ! -f "$URL_FILE" ]; then
    echo "URL 文件不存在: $URL_FILE"
    exit 1
fi

# 使用 xargs 并发发起请求
cat "$URL_FILE" | xargs -n 1 -P "$CONCURRENT_REQUESTS" -I {} bash -c 'curl -o /dev/null -s -w "%{http_code} %{url_effective}\n" "{}"'

# 输出示例
# 200 http://example.com
# 404 http://example.org

shell脚本中编写一个TCP服务器,你可以使用Linux下的socket编程来创建。以下是一个简单的bash脚本示例,它创建了一个监听连接的TCP服务器: ```bash #!/bin/bash # 定义端口和IP地址 PORT=8080 ADDR=localhost # 创建一个临时文件描述符用于监听 LISTENFD=$(mktemp -t listensock.XXXXXX) # 创建套接字并设置为非阻塞模式 echo "Creating TCP server on $ADDR:$PORT..." trap 'rm -f "$LISTENFD"' EXIT mkdir -p /tmp/mysocks chmod 700 /tmp/mysocks SOCKET=/tmp/mysocks/listen.sock mkdir -p $(dirname $SOCKET) echo "Listening on $SOCKET..." bindresvport -l $SOCKET & SERVERPID=$! # 等待客户端连接 while : do read -r client_fd <&$LISTENFD echo "Accepted connection from $client_fd." # 启动一个新的子进程处理客户端请求 (exec bash -c "cat >$SOCKET &>/dev/null && exec echo 'Hello from Server' >&$client_fd") </dev/tcp/$ADDR/$PORT & done # 关闭监听文件描述符 echo "Closing listening socket..." close $LISTENFD # 等待子进程退出 wait $SERVERPID echo "Server stopped." ``` 这个脚本首先创建一个临时文件描述符,然后创建一个socket,并将其绑定到指定的地址和端口上。它进入一个无限循环,等待新的连接,并在每次新连接时启动一个新的子进程来处理客户端请求。 请注意,这是一个基础示例,实际应用中可能会需要更多的错误处理、日志记录以及安全措施。运行此脚本之前,请确保有适当的权限,并根据需求修改配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值