使用终端curl,POST(在R中)和request.post(在Python中)的输出差异

时间:2018-09-10 14:58:54

标签: r curl post httr

我正在尝试使用R从网站(使用API​​)获取数据。我使用httr / POST获取数据并进行了一些分析。最近,我发现R没有为我提供某些特定参数的任何数据,但是对于使用终端curl和Python / POST的相同参数,我有一些数据(相同)。我想知道在使用R的情况下我缺少什么。请在下面查看我正在使用的内容(其中myurl是秘密api地址)。预先感谢您的帮助。

在终端:

这是在API手册中定义的,因此我写了它。

curl myurl -d "timeMin= 965192400000" -d "timeMax=1533186000000"  -d studentId=117

如果使用相同的结果

curl -X POST myurl  -d timeMin=965192400000 -d timeMax=1533186000000 -d studentId=117

curl -X POST myurl  -d timeMin=965192400000 -d timeMax=1533186000000 -d studentId="117"

在R中:

res <- POST(myurl, body = list(timeMin = 965192400000, timeMax = 1533186000000, studentId = "117" ),encode = c("form"))

然后我使用了res$contentrawToCharfromJSON

在Python中:

res = requests.post(myurl, data=[
  ('timeMin', 965192400000),
  ('timeMax',1533186000000 ),
  ('studentId', 117)])

然后我在json.loads上使用了response.text并将其制成python数据框。

0 个答案:

没有答案