找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 5221|回复: 5

python urllib post 数据长度限制

1

主题

5

帖子

5

积分

贫民

积分
5
akastuki~01 发表于 2016-9-23 11:54:32 | 显示全部楼层 |阅读模式
请教一个问题。
我使用python 的 urllib post二进制数据(照片文件)到服务器。post小文件的时候没有任何问题,但是文件大小超过1M的时候就错误了。503
HTTP 协议本身并没有限制数据大小啊。这个限制在哪里改呢?


谢谢。
回复

使用道具 举报

1

主题

13

帖子

13

积分

贫民

积分
13
python奋青 发表于 2016-9-23 13:01:11 | 显示全部楼层
可能是后端服务器存在限制吧,我使用urllib post 4M上传都没有任何问题,可能的话贴下代码
回复 支持 反对

使用道具 举报

1

主题

5

帖子

5

积分

贫民

积分
5
akastuki~01  楼主| 发表于 2016-9-23 13:09:00 | 显示全部楼层
def upload_pic(cwd_path):
    url = 'http://api.heclouds.com/bindata?device_id=3387248&datastream_id=datastreams'
    #cwd_path = os.getcwd()+'\\1.png'
    print (cwd_path)
    fh = open(cwd_path, 'rb')  
    a = fh.read()
    print ('picture size:%d k' % (len(a)/1024))   
    url_values=a
    headers = { 'api-key': 'RSUBN9PdJKqiCxFTRwKkPdWQRzg=',
                'Host':'api.heclouds.com',
                'Content-Length': len(url_values)
                    }
    req = urllib.request.Request(url,url_values,headers)
    try:
        response = urllib.request.urlopen(req)
        fh.close()
        return response.read()
    except urllib.error.HTTPError as e:
        print (e.code)
        fh.close()
        data = [{ 'error' : 'failed' }]
        json = demjson.encode(data)
        return (json)
回复 支持 反对

使用道具 举报

0

主题

12

帖子

12

积分

贫民

积分
12
tt_koma 发表于 2016-9-24 22:20:19 | 显示全部楼层
503 是服务器无法处理client的请求,可以把服务器的代码贴出来 看看是不是do_POST方法中限制的 content-Length的值
回复 支持 反对

使用道具 举报

1

主题

5

帖子

5

积分

贫民

积分
5
akastuki~01  楼主| 发表于 2016-9-26 09:38:35 | 显示全部楼层
tt_koma 发表于 2016-9-24 22:20
503 是服务器无法处理client的请求,可以把服务器的代码贴出来 看看是不是do_POST方法中限制的 content-Len ...

用的是中移动物联网云平台。估计是平台限制吧。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

2

积分

贫民

积分
2
一点都简单 发表于 2016-10-11 13:52:38 | 显示全部楼层
目标服务器有上传限制的!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表