我目前正在尝试使用 urllib2 和urllib2_file库启动文件上传。这是我的代码:
import sys
import urllib2_file
import urllib2
URL='http://aquate.us/upload.php'
d = [('uploaded', open(sys.argv[1:]))]
req = urllib2.Request(URL, d)
u = urllib2.urlopen(req)
print u.read()
我已将此 .py 文件放在我的“我的文档”目录中,并在我的“发送到”文件夹中放置了它的快捷方式(快捷方式 URL 为 )。
当我右键单击一个文件,选择发送到,然后选择 Aquate (my python) 时,它会在瞬间打开一个命令提示符,然后将其关闭。什么都没有上传。
我知道可能发生了错误,所以我将代码逐行输入到 CL python 中。当我跑u=urllib2.urlopen(req)
线时,我没有收到错误;
替代文字 http://www.aquate.us/u/55245858877937182052.jpg
相反,光标只是在该行下方的新行上开始闪烁。我等了几分钟,看看是否会发生什么事情,但它就是这样。为了让它停止,我不得不按 ctrl+break。
这个脚本是怎么回事?
提前致谢!
[编辑] 忘了提——当我在没有请求数据(文件)的情况下运行脚本时,它运行起来就像一个魅力。urllib2_file 有问题吗?
[编辑 2]:
import MultipartPostHandler, urllib2, cookielib,sys
import win32clipboard as w
cookies = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookies),MultipartPostHandler.MultipartPostHandler)
params = {"uploaded" : open("c:/cfoot.js") }
a=opener.open("http://www.aquate.us/upload.php", params)
text = a.read()
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardText(text)
w.CloseClipboard()
如果您通过命令行运行该代码,它就像一个魅力。