二进制文件上载(python、PyCurl、C#)
我的问题是一个普遍的问题。我想向uC执行数据发送(大二进制容器文件),uC使用C#编写的准备好的html发送脚本 C#代码: 这里的问题是,尽管脚本运行了一段时间,但上传没有成功(甚至没有在Python中开始上传)。问题应该在代码中,因为可以通过其他方式完成上传 Python代码:二进制文件上载(python、PyCurl、C#),c#,file-upload,urllib2,pycurl,poster,C#,File Upload,Urllib2,Pycurl,Poster,我的问题是一个普遍的问题。我想向uC执行数据发送(大二进制容器文件),uC使用C#编写的准备好的html发送脚本 C#代码: 这里的问题是,尽管脚本运行了一段时间,但上传没有成功(甚至没有在Python中开始上传)。问题应该在代码中,因为可以通过其他方式完成上传 Python代码: import pycurl from cStringIO import StringIO import urllib2 import simplejson as json url = 'http://eData
import pycurl
from cStringIO import StringIO
import urllib2
import simplejson as json
url = 'http://eData/pvi?rName=FirmwareUpload'
req = urllib2.Request(url)
req.add_header('Content-Type','application/json')
c = pycurl.Curl()
c.setopt(c.POST, 1)
c.setopt(c.URL, url)
c.setopt(c.CONNECTTIMEOUT,0)
c.setopt(c.TIMEOUT, 0)
c.setopt(pycurl.FOLLOWLOCATION, 1)
c.setopt(pycurl.MAXREDIRS, 5)
c.setopt(pycurl.NOSIGNAL, 1)
c.setopt(c.HTTPPOST, [("file1", (c.FORM_FILE,"C:\\Users\\user1\\file\\to\\the\\firmware\\fw-container.efc""))])
c.perform()
print "Upload was successful!"
print "Tx JSON:"
print "POST resource"
res = urllib2.urlopen(req)
print "Response:"
str_0 = res.read()
print str_0
c.close()
错误消息在c.perform()的第行显示如下:
PYCURL ERROR 6 - "Couldn't resolve host 'eData'"
即使我使用不同的python库,我也不知道如何使上传工作正常。我找到了以下用于库使用的选项:
urllib2以多种处理数据的方式发送(从未尝试过,不知道怎么做)
请求库(不适用于2.5 python)
海报库(似乎无法为python 2.5安装eggs)和
PyCurl(我朝这个方向走)
请做一个建议,无论它有多小或与其他库解决方案相关。
谢谢大家!
PYCURL ERROR 6 - "Couldn't resolve host 'eData'"