为什么在SAS PROC HTTP中无法识别TIMEOUT =参数?

时间:2019-01-11 19:25:17

标签: sas

我正在尝试解决特定URL的丢失文件。例如,运行PROC HTTP以获取以下Excel文件https://www2.census.gov/programs-surveys/cps/tables/time-series/historical-poverty-thresholds/thresh17.xls,而不会超时,最终返回304代码。 SAS documentation明确列出TIMEOUT =作为可选参数,但是当我尝试使用它时,出现语法错误:

  

错误22-322:语法错误,期望以下值之一:;,AUTH_ANY,AUTH_BASIC,AUTH_NEGOTIATE,AUTH_NONE,AUTH_NTLM,CLEAR_CACHE,CLEAR_CONN_CACHE,CLEAR_COOKIES,CT,EXPECT_100_CONTINUE,                 FOLLOWLOC,HEADERIN,HEADEROUT,HEADEROUT_OVERWRITE,HTTP_TOKENAUTH,IN,Method,NOFOLLOW,NOFOLLOWLOC,NO_CONN_CACHE,NO_COOKIES,OUT,PROXYHOST,PROXYPASSWORD,PROXYPORT,                 PROXYUSERNAME,PROXY_AUTH_BASIC,PROXY_AUTH_NEGOTIATE,PROXY_AUTH_NONE,PROXY_AUTH_NTLM,URL,VERBOSE,WEBAUTHDOMAIN,WEBPASSWORD,WEBUSERNAME。   错误202-322:该选项或参数无法识别,将被忽略。

这是我的代码:

filename resp "C:\response";
    proc http
        url="https://www2.census.gov/programs-surveys/cps/tables/time-series/historical-poverty-thresholds/thresh17.xls";
        method="GET"
        out=resp
        TIMEOUT=5;
    run;

是否有其他方法可以解决SAS中的超时问题?

1 个答案:

答案 0 :(得分:2)

很可能您没有运行SAS 9.4M5版本。

9.4 What's new documentation的状态为9.4M5(2017年9月)

  

PROC HTTP添加一个DEBUG语句,OAUTH_BEARER =过程选项和TIMEOUT =过程选项,以及响应状态宏变量。