Eu quero baixar o arquivo para o meu servidor eautomaticamente enviá-lo para armazenamento on-line (menos ou dropbox) via menos ou dropbox API, sem salvar o arquivo baixado no meu servidor. Então, é como transmitir ou canalizar a conexão HTTP. Agora estou usando minus.com API, mas seu objeto de arquivo requer ou arquivo local como parâmetro. Eu não consigo descobrir como converter resposta HTTP para objeto de arquivo.
É possível fazer isso? se possível, como?
conceito :
FILE_ON_ANOTHER_SERVER ---- (http) ---> MY_SERVER ---- (http) ----> ONLINE_STORAGE
obrigado
Respostas:
0 para resposta № 1Você pode obter os dados de uma resposta através do método read ()
response = urllib2.urlopen(request)
data = response.read()
Os dados variáveis possuem os dados binários da resposta.
Agora você pode criar um objeto StringIO que manipule os dados como um objeto de arquivo.
import StringIO
datastream = StringIO.StringIO()
datastream.write(data)
datastream.seek(0)
#create dropbox client
client.put_file("/test", datastream)
0 para resposta № 2
urllib2.urlopen (url) retornará um objeto semelhante a um arquivo. Você pode passar isso diretamente para o seu menos api? Veja os documentos da urllib2 em http://docs.python.org/library/urllib2