通过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等信息。
不知哪位碰到过,谢谢!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。