相当于curl选项的PROC HTTP --insecure / -k

时间:2018-07-05 16:49:34

标签: http sas

我可以通过发送系统命令并使用pipe来使用curl来访问REST API

filename fn pipe "curl -k -u &user.:&pass. 'https://blahblah.com/rest/api/content/108428908/child/attachment' ";

data new;
infile fn;
input;
put _infile_;
run;

这可行,但是我想使用PROC HTTP,所以我将响应返回到.json文件而不是日志中,并且可以使用SAS密码加密。这是我的PROC HTTP代码:

filename out "/blah/blahblah/output.json";

proc http
  url    = 'https://blahblah.com/rest/api/content/108428908/child/attachment'
  method = "GET"
  webusername = "&user"
  webpassword = "&pass"
  out    = out
  ;
run;

这可以给我一个json文件,但是我返回的json文件说“不允许用户查看内容的附件”,这是我在添加-k之前从curl获得的响应选项(即--insecure)。

那么我该如何在PROC HTTP中执行-k的等效功能? (告诉SAS不要检查SSL证书)。除了可以在.SAS文件中指定的选项之外,不能修改任何选项,因为我无权更改这些选项。

2 个答案:

答案 0 :(得分:4)

是否将SSLREQCERT标志设置为选项?根据{{​​3}},您似乎可以使用ALLOW选项来告诉服务器允许失败SSL握手的连接。

答案 1 :(得分:1)

这里最正确的答案是不要忽略SSL问题,而是将证书添加到运行PROC HTTP的计算机上的相应信任管理器/密钥存储中。这样做的方法因OS和SAS版本而异。 This documentation page will provide some insight into how to do this.