【问题标题】:How to wait for response code 201 via curl如何通过 curl 等待响应代码 201
【发布时间】:2018-05-22 15:30:54
【问题描述】:

我有一个使用 K15t Scroll Version 插件发布 Atlassian Confluence 空间的 curl 命令:

curl -v -H "Accept:application/json" -H "Content-Type:application/json" -X POST "http://<server>/rest/scroll-versions/1.0/publish/<spacekey>/to_new/publish?os_username=myusername&os_password=mypassword" --data {"versionId":"9C8CC11601610D3E794E334A746E61SD","targetSpaceKey":"pro60", "targetSpaceName":"Pro 60", "treeProviderName":"Pro 2017", "languageKey":"all", "copyLabels":"false", "keepAuthorsAndDates":"false", "removeAttachments":"false", "sendEmail":"false", "keepPermalinks":"false", "onlyPagesInFinalState":"false", "onlyPagesInFinalStateProcessChildren":"false", "publishHierarchy":"false"}

此命令返回响应代码 202,其中包含正在发生的事情的摘要。然后,我需要继续检查下面的 URL 以了解活动何时完成。我不断收到代码 202,最后,我收到了代码 201。然后,我保存了我在下面调用 URL 的响应。

http://<server>/rest/scroll-versions/1.0/async-tasks/<alphanumeric id generated when 202 is returned> 

在我执行 curl 然后调用上面的 URL 后,我应该怎么做才能将响应保存到日志文件?

【问题讨论】:

    标签: rest api asynchronous curl confluence


    【解决方案1】:

    wait-for-code.sh(基于https://superuser.com/a/442395/634271

    #/bin/sh
    
    HOST=${1}
    ATTEMPTS=${2:-10} # -1 for unlimited
    CODE=${3:-200}
    OUT=${4:-/dev/null}
    DELAY=${5:-1s}
    
    if [[ "$OUT" = "/dev/null" ]]; then
        GET_BODY="I"
    else
        GET_BODY=""
    fi
    
    CURL="curl -${GET_BODY}so ${OUT} -w %{http_code} ${HOST}"
    
    until [ $ATTEMPTS -eq 0 ]; do
        [ `$CURL` -eq $CODE ] && exit 0
        [ $ATTEMPTS -gt 0 ] && [ $((--ATTEMPTS)) ]
        [ $ATTEMPTS -gt 0 ] && sleep $DELAY
    done
    
    exit 1
    

    在您的情况下的用法:

    $ SERVER="http://<server>/rest/scroll-versions/1.0/async-tasks/<alphanumeric id generated when 202 is returned>"
    $ ./wait-for-http-code.sh $SERVER -1 201 out.log
    

    【讨论】:

      猜你喜欢
      • 2017-08-14
      • 2020-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      • 2017-06-19
      • 1970-01-01
      • 2018-11-09
      相关资源
      最近更新 更多