次のコードでファイルをアップロードしようとしています。
url = "/folder/sub/interface?"
connection = httplib.HTTPConnection('www.mydomain.com')
def sendUpload(self):
fields = []
file1 = ['file1', '/home/me/Desktop/sometextfile.txt']
f = open(file1[1], 'r')
file1.append(f.read())
files = [file1]
content_type, body = self.encode_multipart_formdata(fields, files)
myheaders['content-type'] = content_type
myheaders['content-length'] = str(len(body))
upload_data = urllib.urlencode({'command':'upload'})
self.connection.request("POST", self.url + upload_data, {}, myheaders)
response = self.connection.getresponse()
if response.status == 200:
data = response.read()
self.connection.close()
print data
encode_multipart_formdata()はhttp://code.activestate.com/recipes/146306/から取得されます
メソッドを実行すると、完了するまでに長い時間がかかります。実際、それが終わるとは思いません。ネットワークモニターでデータが転送されているのがわかりますが、メソッドは終了しません...
何故ですか?どこかにタイムアウトを設定する必要がありますか?