我有一台服务器,我试图建立一个发布请求以取回数据。我认为实现此目的的一种方法是在标头中添加参数并发出请求。但是我收到的错误很少,我不太了解,无法继续前进。
HTML表格
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<form method="POST" action="http://some.server.com:61235/imgdigest" enctype="multipart/form-data">
quality:<input type="text" name="quality" value="2"><br>
category:<input type="text" name="category" value="1"><br>
debug:<input type="text" name="debug" value="1"><br>
image:<input type="file" name="image"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Python代码:我已经根据答案编辑了问题
import urllib, urllib2
import base64
if __name__ == '__main__':
page = 'http://some.site.com:61235/'
with open("~/image.jpg", "rb") as image_file:
encoded_image = base64.b64encode(image_file.read())
raw_params = {'quality':'2','category':'1','debug':'0', 'image': encoded_image}
params = urllib.urlencode(raw_params)
request = urllib2.Request(page, params)
request.add_header("Content-type", "application/x-www-form-urlencoded; charset=UTF-8")
page = urllib2.urlopen(request)
info = page.info()
Run Code Online (Sandbox Code Playgroud)
错误:
page …Run Code Online (Sandbox Code Playgroud)