2015-06-16 73 views
3

所以,我想使用谷歌URL缩短API和我尝试使用PROC HTTP与HTTPS URL

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基地9.3。但是,在工作上,在EG 4.3上,我得到:

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

并且不可能调试。谷歌搜索后,我发现,我必须这样设置

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

但是,在那里我可以得到“服务的证书被信任” Java系统选项 - 和密码呢?

编辑:正如我在下面的评论中注意到的,我的工作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; 

希望它可以帮助别人

+0

注意EG 4.3是不完全与SAS版本 - 它通常是SAS 9.2,虽然它可能与更高版本或更早版本。 – Joe

+0

是的,谢谢,我知道 - 但proc http适用于我的EG 4.3没有问题与http基址url – burduk

+0

我明白,我只是说更有用的沟通是SAS版本,而不是EG版本。 – Joe

回答

2
  1. 从何处获得该证书 打开你想从透过Chrome证书的URL。点击URL栏中的锁定文件,点击“详细信息”标签,然后点击右下角的“另存为文件”。您需要知道您在此阶段要使用的信任商店。请参阅以下步骤。
  2. 密码和信任存储由您定义。在大多数情况下,只不过是一个加密的zip文件。有很多工具可以让你创建一个信任存储,对它进行加密,然后将证书导入它。选择取决于您使用的操作系统。有一些与操作系统无关的基于Java的工具,例如Portecle。它允许在不同的操作系统上定义各种信任库,并且可以远程管理它们。

问候, 瓦西里