0

我需要通过 webpy 中的 CURL 接收文件

import web
import json

class GetFile:

    def POST(self):
        try:
            i = web.input()
            data = web.data() 
        except Error(e):
            print e

我不知道该怎么做,因为没有从 CURL 接收数据的示例

curl -o -H "Content-type: text/xml; charset=utf-8" -T doc.xml "http://localhost:8080/get_file

我遇到了一个问题

HTTP/1.1 405 Method Not Allowed
Content-Type: text/html
Allow: GET
Transfer-Encoding: chunked
Date: Fri, 19 Oct 2012 11:54:13 GMT
Server: localhost

谁能给我一个示例代码来通过 curl 上传文件并将其保存在某个位置。

4

2 回答 2

1

要获取文件,请使用 urllib

import urllib2
response = urllib2.urlopen('http://www.example.com/')
html = response.read()

要上传文件,请确保将内容标记为多部分表单数据

curl -X POST -H "Content-Type: multipart/form-data;" --data-binary @doc.xml http://localhost:2332/upload
于 2012-10-19T12:26:41.687 回答
0

问题是-Tcurl 选项默认使用 PUT 方法,而您只实现了一个 POST 处理程序。您可以尝试使用-X POST, 或调查-d和 相关选项作为 的替代品-T,默认情况下将使用 POST。

或者,如果您打算使用 PUT 方法上传文件,则可以将 PUT 处理程序添加到您的类中。

于 2012-11-06T19:13:18.427 回答