我目前正在尝试使用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文件放在我的“我的文档”目录中,并在我的Send To文件夹中放置了一个快捷方式(快捷方式URL为 )。
当我右键单击一个文件,选择发送到,然后选择Aquate(我的Python),它会打开一个命令提示符,然后立即关闭。没有上传任何内容。
I knew there was probably an error going on so I typed the code into CL python, line by line.
When I ran the u=urllib2.urlopen(req)
line, I didn t get an error;
alt text http://www.aquate.us/u/55245858877937182052.jpg
相反,光标只是在该行下面的新行上开始闪烁。我等了几分钟看看是否会发生什么事情,但它就是保持那样。要让它停止,我不得不按下Ctrl + Break键。
这个剧本怎么了?
提前感谢!
[Edit] Forgot to mention -- when I ran the script without the request data (the file) it ran like a charm. Is it a problem with 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()
如果你通过命令行运行这段代码,它会像魔法一样奇妙运行。