将geoserver cURL转换为python请求

时间:2014-11-21 07:50:34

标签: python django curl python-requests geoserver

将Django与requests一起使用,我想调用由Geoserver配置的休息服务器。在Geoserver docs中,有一些cURL可用于与服务器通信。 例如,这个cURL:

curl -v -u admin:geoserver -XPOST -H "Content-type: text/xml"
   -d "<workspace><name>acme</name></workspace>"
   http://localhost:8080/geoserver/rest/workspaces    

创建一个新工作区。 如何将此cURL转换为python请求?我也使用了以下代码,但没有成功。

payload = {'-d':'<workspace><name>acme</name></workspace>'}
headers = {'content-type': 'text/xml'}
r = requests.post("http://localhost:8080/geoserver/rest/workspaces", auth=('admin', 'geoserver'),
       data=payload,headers=headers)

1 个答案:

答案 0 :(得分:1)

我明白了:

headers = {'content-type': 'text/xml'}
r1 = requests.post("http://localhost:8080/geoserver/rest/workspaces", 
    auth=('admin', 'geoserver'), 
    data='<workspace><name>acme</name></workspace>',
    headers=headers)