2012-10-19 85 views
0

我需要通過捲曲在webpy接收一個文件通過捲曲webpy接收文件

import web 
import json 

class GetFile: 

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

我不知道如何做到這一點,因爲有從捲曲

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 

任何一個可以給我一個示例代碼通過捲曲上載文件並將其保存在 一個位置。

回答

1

要提取文件使用urlib

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

需要上傳文件時,請務必標註contet爲multipart form data

curl -X POST -H "Content-Type: multipart/form-data;" --data-binary @doc.xml http://localhost:2332/upload 
+0

我不確定你的解決方案我正在嘗試使用webpy製作一個API,我需要接收一個文件並給出連續接收的響應 – Kathick

+0

請參閱http://stackoverflow.com/questions/11137946/python-extracting -binary-從-A-請求後,使用的web-PY –

0

的問題是,-T選項捲曲使用PUT方法,並且您只實現了POST處理程序。你可以用-X POST嘗試,或調查-d和相關選項以替代-T,將使用POST默認。

或者,你可以一個PUT處理程序添加到您的類,如果它是你打算使用PUT方法上傳的文件。