无法使用r中的httr包复制Python requests.post

时间:2016-02-24 15:44:10

标签: r python-requests httr

这在Python中使用请求库:

names(object_of_my_class) <- c(...)

我想使用httr包在R中复制相同的内容。这是我尝试没有成功的原因:

plist5 = ["5021072"]

data = {"startDate": "2014-04-01", "endDate": "2014-04-01", "pnodeList": plist5}
data = json.dumps(data)
url = 'https://dataminer.pjm.com/dataminer/rest/public/api/markets/realtime/lmp/daily'

headers = {'Content-Type': 'application/json'}

response = requests.post(url, data=data, headers=headers)

这是我从R代码得到的回复:

url <- 'https://dataminer.pjm.com/dataminer/rest/public/api/markets/realtime/lmp/daily'

response <- POST(url,  body = list(pnodeList = "5021072", 
                                   startDate = "2014-04-01",
                                   endDate = "2014-04-01"),
                 headers = list('Content-Type' = 'application/json')
                )

非常感谢任何关于如何进行的指导。

1 个答案:

答案 0 :(得分:0)

希望有人可以详细说明为什么以下内容似乎有效和/或如何剖析在&#34;错误&#34;版本与正在发送的内容&#34;正确&#34;版本:

response <- POST(url,  body = list(pnodeList = list("5021072"), 
                                   startDate = "2014-04-01",
                                   endDate = "2014-04-01"),
                 encode = "json")
)

This Quickstart Guide是让我在上面尝试的原因。

添加verbose()可让您查看已发送的内容:

POST(url,  body = list(pnodeList = list("5021072"), 
                       startDate = "2014-04-01",
                       endDate = "2014-04-01"),
     encode = "json",
     verbose()
)

您最初尝试中最明显的缺陷是,在python版本中,pnodeListlist