使用curl执行Http Post操作时出错

问题描述 投票:0回答:1

我正在发出一个发布请求,该请求将使用我的 bash 自动测试文件 (.bats) 中的curl 命令发布一个文件,但是该请求失败并出现错误。 以下是要求

@test "Test 1" {

    sleep 5s
    
 
    TEST_URL_HTTP="http://10.15.33.230:8080/service/v1/lb"
    RESPONSE=""
    for x in {0..20} ;
    do
        echo "Sending request to $TEST_URL_HTTP"

        RESPONSE=$(curl --connect-timeout 1 -s -f -X POST  -H 'Content-Type: application/json' -d '@./folder/request.json' $TEST_URL_HTTP) && break
        sleep 5
    done
    
    if [ $x -lt 20 ] ;
    then
        echo "Received echo response"
    else
        echo "Failed to get echo response"
        exit 1
    fi
    
}

结果

[INFO]      [exec] # Sending request to http://10.15.33.230:8080/service-a/v1/lb
[INFO]      [exec] # $ RESPONSE=$(curl --connect-timeout 1 -s -f -X POST -H 'Content-Type: application/json' -d '@request.json' $TEST_URL_HTTP)
[INFO]      [exec] # $ curl --connect-timeout 1 -s -f -X POST -H 'Content-Type: application/json' -d '@./folder/request.json' $TEST_URL_HTTP
[INFO]      [exec] # curl: option -d: error encountered when reading a file

感谢任何帮助 谢谢你

curl bats-core
1个回答
0
投票

我的bats脚本是从父shell脚本调用的,通过更改json文件的位置解决了问题

© www.soinside.com 2019 - 2024. All rights reserved.