2010-09-19 64 views

回答

1

你可以使用标准库模块httplib:在HTTPConnection.request法,body参数(因为Python 2.6)可以打开的文件对象(最好是一个“非常真实”的文件,因为,作为文档说,“这文件对象应该支持fileno()和read()方法“;但它可能是一个单独的进程可以写入的命名或未命名管道)。然而,优点是可疑的,因为(再次根据文档)“头部内容长度自动设置为正确的值” - 这是因为头部在主体之前,并且文件的内容长度直到文件才能被知道被读取,意味着整个文件将被读入内存。

如果你绝望以“流”动态生成的内容为HTTPPOST(而不是准备这一切事先和然后发帖),你需要一台服务器支持HTTP的“分块传输编码”:this SO question“ s接受的答案提到了流行的异步网络Python包twisted,并给出了一些有用的指针。

+0

谢谢亚历克斯。虽然你的回答没有回答我的问题,但它引发了一些关于使用“数据”属性的想法。我使用了urllib2包,“Request”方法接受了我需要传递的字符串,并生成相关输出。 c = urllib2.Request(“http://www.mymindleaks.com/examples/hello.php”,“World”) res = urllib2.urlopen(c).read() print res – MSW 2010-09-19 05:13:34