1

我有一些代码已经检查远程服务器上是否存在图像文件。使用 CURL 或 Fsockopen 这应该是微不足道的,但我有一个问题。

例如,考虑这个 URL: http: //media-cache-ec3.pinterest.com/upload/202450945720262211_0utXb0QZ_f.jpg

其上的 HTTP 标头如下:

HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=31536000
Content-Type: image/jpeg
Date: Mon, 17 Sep 2012 08:10:59 GMT
ETag: "31d93cdf91def38bcdbd70786805ba2a"
Expires: Tue, 17 Sep 2013 08:10:59 GMT
Last-Modified: Mon, 17 Sep 2012 05:27:21 GMT
Server: ECS (dfw/56F1)
x-amz-id-2: Lr9D66o3dW5NN15dXhh04MSKIrwqugtFH51g8XoloI+7tItd2ITxJp3KDhVpKWm5
x-amz-request-id: 4F9888DFA41E82C6
X-Cache: HIT
Content-Length: 168738

然而,实际页面返回:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>3AB3633B5D289688</RequestId>
<HostId>
/FOF1nsbJ6slumpg2YHnhV5L+j12z3U/fp5coyi/BGG8JRT3nAtPrCHcIV3p3B0Z
</HostId>
</Error>

我认为只获取 URL 的内容就足够了,但无论我使用 CURL、fsockopen 还是 file_get_contents(),实际内容都是一些二进制垃圾。然而,将浏览器指向该 URL 会显示一些来自 Amazon 的 S3 的 XML,我想这就是 Pinterest 使用的。

所以,问题:关于如何从响应正文(现在打印为二进制垃圾)中检查是否有“AccessDenied”消息的任何提示?

这是我正在使用的代码: http: //chopapp.com/#1hcycm6x

谢谢!

4

0 回答 0