开发者社区> 问答> 正文

iOSAPP下载数据时,OSS返回错误,不知怎么解决,谢谢!

通过wireshark抓包,发送的HTTP头为:

GET /20150130091018__066e30c6-803c-494c-96c6-cacf85d99a16.jpg?Expires=1422700745&OSSAccessKeyId=XXXXXXXXXXXXXX&Signature=itUQGYv4uWhSigsz%2BxHIMfjRIEs%3D HTTP/1.1
Host: XXXXXXXXXXXXXXXXX
Accept: */*
Cookie: _alit_=AQAAAO7vUmc7QAkAdT7qNB/utShIqLtR
User-Agent: mykey_family/1 CFNetwork/711.1.12 Darwin/14.0.0
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: keep-alive


但OSS返回的错误内容:
HTTP/1.1 403 Forbidden
Server: Tengine
Content-Type: application/xml
Content-Length: 296
Connection: keep-alive
Date: Sat, 31 Jan 2015 10:29:05 GMT
x-img-request-id: 54CCAE71E4918E3460252DD0
Via: cache28.l2cn202[31,403-0,M], cache9.l2cn202[32,0], kunlun6.cn135[0,403-0,H]
Age: 0
X-Cache: HIT TCP_MEM_HIT dirn:-2:-2
X-Swift-SaveTime: Sat, 31 Jan 2015 10:29:05 GMT
X-Swift-CacheTime: 1


<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>AccessDenied</Code>
  <Message>Either the Signature query string parameter or the Authorization header should be specified, not both.</Message>
  <RequestId>54CCAE71E4918E3460252DD0</RequestId>
  <HostId>imgcoc.mykidedu.cn</HostId>
</Error>


如果将http头内容放到终端里面是可以成功的,同时把host和GET两项拼接起来,放到游览器里面,也是可以成功的,但在代码里面,OSS返回403错误,同时提示的错误信息是Authorization和Signature同时设置了。为了定位问题,通过wireshark抓了下包,数据如上,发现并没有设置Authorization等信息。


不知哪位碰到过,谢谢!

展开
收起
advaadva 2015-01-31 19:35:52 12678 0
2 条回答
写回答
取消 提交回答
  • ttd
    ReiOSAPP下载数据时,OSS返回错误,不知怎么解决,谢谢!
    把代码贴出来
    2015-05-20 16:12:29
    赞同 展开评论 打赏
  • ReiOSAPP下载数据时,OSS返回错误,不知怎么解决,谢谢!
    你用的是OSS的SDK来发送请求的吗?如果是,用的什么SDK?如果不是,能否把你的代码贴出来看看?
    2015-02-02 15:56:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载