我正在尝试使用OpenRefine API发出创建项目的请求(类似于this implementation但是使用python3)
到目前为止我尝试的是:
data = {
"project-name":"toto",
"project-file": {
"fd": open(project_file, "rb"),
"filename": project_file,
}
}
response = requests.post(self.server + '/command/core/create-project-from-upload', data=data)
我还尝试使用files
的{{1}}参数:
requests
在这两种情况下,我都会收到200响应但不提供文档中预期的项目ID,而是提供HTML正文:
data = {"project-name":"toto"}
files = {'project-file': (project_file, open(project_file, "rb"))}
response = requests.post(self.server + '/command/core/create-project-from-upload', data=data, files=files)
我错过了什么?
修改
在@nlsdfnbch评论之后,我需要得到的参数似乎包含在:
<!doctype html>
<!--
Copyright 2010, Google Inc.
All rights reserved.
[...]
<body>
<div id="header">
<a id="app-home-button" href="./"><img alt="OpenRefine" src="images/logo-openrefine-30.png" width="129" height="29" /></a>
<div id="project-title">
<span id="project-name-button" class="app-path-section"></span>
<a id="project-permalink-button" href="javascript:{}" class="secondary"></a>
</div>
<div id="project-controls">
<a href="./" class="button" target="_blank"><span id="or-proj-open"></span></a>
<a class="button" bind="exportButton" id="export-button" href="#export"><span class="button-menu" id="or-proj-export"></span></a>
<a href="https://github.com/OpenRefine/OpenRefine/wiki/Documentation-For-Users" target="_blank" class="button"><span id="or-proj-help"></span></a>
</div>
</div>
<div id="loading-message"><img src="images/large-spinner.gif" /> <span id="or-proj-starting"></span></div>
<div id="body">
<div bind="leftPanelDiv" id="left-panel">
<div bind="leftPanelTabs" class="refine-tabs">
<ul>
<li><a href="#refine-tabs-facets" id="or-proj-facFil"></a></li>
<li><a href="#refine-tabs-history" bind="historyTabHeader" id="or-proj-undoRedo"></a></li>
</ul>
<div id="refine-tabs-facets" bind="facetPanelDiv" id="facet-panel"></div>
<div id="refine-tabs-history" bind="historyPanelDiv" id="history-panel"></div>
</div>
</div>
<div bind="rightPanelDiv" id="right-panel">
<div bind="toolPanelDiv" id="tool-panel">
<div bind="summaryBarDiv" id="summary-bar">
<!-- row/record counts -->
</div>
<div bind="extensionBarDiv" id="extension-bar">
<span id="or-proj-ext"></span> <span bind="menuContainer" id="extension-bar-menu-container"></span>
</div>
</div>
<div bind="viewPanelDiv" id="view-panel"></div>
</div>
<div bind="processPanelDiv" id="notification-container"></div>
</div>
发生了什么?为什么结果在此处可用而不在响应对象中?