尝试在python中发布多部分表单数据,不会发布
问题描述:
我是python的新手,所以如果我缺少这种简单的方法,我会提前道歉。我正在尝试将数据发布到python中的多部分表单中。该脚本运行,但不会发布。我不确定自己在做什么错。
import urllib, urllib2 from poster.encode import multipart_encode from poster.streaminghttp import register_openers def toqueXF(): register_openers() url = "http://localhost/trunk/admin/new.php" values = {'form':open('/test.pdf'), 'bandingxml':open('/banding.xml'), 'desc':'description'} data, headers = multipart_encode(values) request = urllib2.Request(url, data, headers) response = urllib2.urlopen(request) the_page = response.read() print the_page
当我调用此命令时,打印结果会显示页面的html,就好像我运行了“ urllib2.urlopen(url)”并且没有发布任何数据一样:
<form enctype="multipart/form-data" action="" method="post"> <p><input type="hidden" name="MAX_FILE_SIZE" value="1000000000" /></p> <p>Select PDF file to create form from: <input name="form" type="file" /></p> <p>(Optional): Select banding XML file: <input name="bandingxml" type="file" /></p> <p>Enter description of form: <input name="desc" type="text"/><br/></p> <p><input type="submit" value="Upload form" /></p> </form>
发布者是将数据编码为多部分/表单数据,可以在以下位置找到:http
:
//atlee.ca/software/poster/index.html
我在这里找到了使用海报的代码:使用MultipartPostHandler通过Python发布表单数据
如果有人好奇,我想在为queXF(开源光学标记识别软件)生成pdf和xml绑定文件后自动发布它们。http://quexf.sourceforge.net/
我正在尝试创建一个程序,而我试图做的一件事就是像这样将变量添加到字符串中。EnemyHealth = 0EnemyIs = 'dead'print("The Enemy's health is %d. Th ...