Sal*_*lty 6 python upload post urllib2
我目前正在尝试使用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()
Run Code Online (Sandbox Code Playgroud)
我已将此.py文件放在我的"我的文档"目录中,并在"发送到"文件夹中放置了一个快捷方式(快捷方式URL为).
当我右键单击一个文件时,选择Send To,然后选择Aquate(我的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()
Run Code Online (Sandbox Code Playgroud)
如果您通过命令行运行它,该代码就像一个魅力.
如果您使用的是 Python 2.5 或更高版本,urllib2_file则既不必要又不受支持,因此请检查您正在使用的版本(也许还需要升级)。
如果您使用的是 Python 2.3 或 2.4(Python 唯一支持的版本urllib2_file),请尝试运行示例代码并查看是否遇到相同的问题。如果是这样,您的 Python 或安装可能有问题urllib2_file。
编辑:
另外,您似乎没有使用urllib2_filePOST 数据的两种受支持格式中的任何一种。尝试使用以下两行之一:
d = ['uploaded', open(sys.argv[1:])]
## --OR-- ##
d = {'uploaded': open(sys.argv[1:])}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17468 次 |
| 最近记录: |