0

我正在尝试访问 URL 并希望将数据存储到数据集并以 JSON 格式输出文件。

我只想获取 URL 数据并存储为 JSON 文件但我的问题有两个部分......

  1. 如果 url 响应数据已经是像 http://headers.jsontest.com这样的 json 格式,那么我只需使用file命令和put 带有json扩展名的命令
  2. 如果 url 响应数据html tags与任何其他 url 数据一样,那么它可以json被 SAS 解析或转换为格式

我试图获取假设http://www.google.comhttp://headers.jsontest.com .... 这是我的代码.....

LIBNAME src '/home/user/readURL';
filename test_url url 'http://headers.jsontest.com' debug lrecl=8192;
    data src.http;
        infile test_url length=len;
        input record $varying8192. len;
        file '/home/user/readURL/READ_URL.txt';
        put test_url;
    run;
proc print data = src.http;
run;

这是我在执行代码后收到的带有错误消息的日志文件:错误:连接已超时..

任何想法如何摆脱这个......

2  The SAS System   07:57 Wednesday, January 15, 2014

16         filename test_url url 'http://headers.jsontest.com' debug lrecl=8192;
17         data src.http;
18         infile test_url length=len;
19         input record $varying8192. len;
20         run;

ERROR: The connection has timed out..
NOTE: The SAS System stopped processing this step because of errors.
NOTE: SAS set option OBS=0 and will continue to check statements. This may cause NOTE: No observations in data set.
WARNING: The data set SRC.HTTP may be incomplete.  When this step was stopped there were 0 observations and 1 variables.
WARNING: Data set SRC.HTTP was not replaced because this step was stopped.
NOTE: DATA statement used (Total process time):
      real time           1:14.92
      cpu time            0.03 seconds

READ_URL.txt作为一个空白文件

提前感谢您的任何帮助...

4

1 回答 1

1

实际上我已经解决了我自己的问题,但只有第一部分....如果有人发现这种类型的类似错误(错误:连接已超时..)...尝试proxy在那边使用....就像我添加的一样在我的代码中......

LIBNAME src '/home/user/readURL';

filename test_url url 'http://headers.jsontest.com' debug lrecl=8192 PROXY='http://hostname:portno/';
data src.http;
    infile test_url length=len;
    input record $varying8192. len;
    file '/home/user/readURL/READ_URL.json';
    put record;
run; 

proc print data = src.http;
run;

但我仍然必须解决我的第二部分问题......

于 2014-01-15T13:32:45.060 回答