使用https url过程http

时间:2015-06-16 12:08:16

标签: sas

所以,我想使用Google Url缩短器Api,我尝试使用

proc http

所以,当我运行这段代码时

filename req "D:\input.txt"; 
filename resp "D:\output.txt";

proc http 
url="https://www.googleapis.com/urlshortener/v1/url" 
method="POST"   
in=req         
ct="application/JSON" 
out=resp       
;run;

(其中D:\ input.txt看起来像{" longUrl":" http://www.myurl.com"})一切都在我家SAS Base 9.3上有效。但是,在工作中,在EG 4.3上,我得到:

NOTE: The SAS System stopped processing this step because of errors.

并且无法调试。谷歌搜索后,我发现,我必须像这样设置java系统选项

-jreoptions (-Djavax.net.ssl.trustStore=full-path-to-the-trust-store -Djavax.net.ssl.trustStorePassword=trustStorePassword)

但是,在哪里可以获得"要信任的服务证书" - 以及密码?

编辑:正如我在下面的评论中注意到的那样,我的工作SAS已安装到服务器中,因此我无法直接访问配置。此外,更改服务器配置并不是一个好主意。所以,我尝试谷歌更多,并找到使用cUrl的美妙解决方案,没有X命令(导致它在我的EG中阻止)。等效语法是:

filename test pipe 'curl -X POST -d @D:\input.txt https://www.googleapis.com/urlshortener/v1/url --header "Content-Type:application/json"';

data _null_;
infile test missover lrecl= 32000;
input ;
file resp;
put _infile_;   
run;  

希望有人帮助

1 个答案:

答案 0 :(得分:2)

  1. 从哪里获得证书 通过Chrome打开您希望获得证书的网址。单击URL栏中的锁定文件,单击"详细信息"选项卡,然后单击"另存为文件"在右下角。您需要知道在此阶段您将使用的信任存储库。请参阅以下步骤。
  2. 密码和信任存储由您定义。在大多数情况下,它只不过是一个加密的zip文件。有很多工具允许您创建信任存储,加密它然后将证书导入其中。选择取决于您使用的操作系统。有些基于java的工具独立于OS,例如Portecle。它允许在不同的操作系统上定义各种信任存储,您可以远程管理它们。
  3. 此致 瓦西里