PHP远程获取图片失败,急!!!在线等

beanbar 2008-07-20 10:59:13
请高人指点:

这个网站上的图片 http://www.aio.com.tw/,我想通过PHP程序自动下载指定的URL的图片,
比如这个图片URL: http://www.aio.com.tw/photo/showphoto.asp?sex=F&sn=ai00383859&t=97072010

我尝试过很多种方法,都是失败的。

在Firefox下面,我把这个图片的url复制到地址栏,刷新两次,能看到图片的二进制数据
在IE下面,同样也需要刷新两次才能看到这个图片(是图片,非二进制数据了)。
请注意,无论在IE还是Firefox中,必须是刷新两次才能看到数据或者图片,如果我将cookie清除掉的话,我要想再看,还得刷新两下。(所以我肯定这个网站的图片作了cookie验证)

但是既然能刷新两下后获取数据,那我想通过程序是否也能自动得到?
请问大虾们有什么比较好的解决方法吗?

分数不够再加,谢谢了!
...全文
499 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
fxs_2008 2008-07-21
  • 打赏
  • 举报
回复
看不见,
估计要登录,不登录看不见
my_web 2008-07-21
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 beanbar 的回复:]
需要根据当前时间来设定最后的参数t
你试试看: http://www.aio.com.tw/photo/showbphoto.asp?sex=F&sn=ai00099272&t=97072116
[/Quote]
这个可以看到图片
http://www.aio.com.tw/photo/showphoto.asp?sex=F&sn=ai00383859&t=97072010
看不到
beanbar 2008-07-21
  • 打赏
  • 举报
回复
最后一个参数和时间有关系,就是远端aio服务器上的时间。

所以你试试看这个连接:http://www.aio.com.tw/photo/showbphoto.asp?sex=F&sn=ai00099272&t=97072116


另外:cookie值是变化的,以下是我两次访问的cookie内容:
ASPSESSIONIDCQARSBSB
Value OCGNIHPBJFBFKPCHIJNNPDCC
Host www.aio.com.tw
Path /
Secure No
Expires At End Of Session

ASPSESSIONIDCQARSBSB
Value MPDOIHPBHAKGLIFFAIFGFJCI
Host www.aio.com.tw
Path /
Secure No
Expires At End Of Session

如果是变值cookie,真的没办法取到内容吗???
beanbar 2008-07-21
  • 打赏
  • 举报
回复
需要根据当前时间来设定最后的参数t
你试试看: http://www.aio.com.tw/photo/showbphoto.asp?sex=F&sn=ai00099272&t=97072116
qianziai0912 2008-07-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dada20042030 的回复:]
引用 2 楼 beanbar 的回复:
请看这张: http://www.aio.com.tw/photo/showbphoto.asp?sex=F&sn=ai00099272&t=97072013

我把它用外部连接的方式: <img src="http://www.aio.com.tw/photo/showbphoto.asp?sex=F&sn=ai00099272&t=97072013"> 在Firefox下面可以浏览,如果是IE,直接copy这个url到地址栏也可以看到图片。

就是用这个URL直接COPY看不见.

[/Quote]
fxs_2008 2008-07-21
  • 打赏
  • 举报
回复
如果对方是变cookie的,也是无法采集的

2. fopen / fsockopen
4. curl

应都可用cookie
beanbar 2008-07-21
  • 打赏
  • 举报
回复
至于连接里面的时间问题,请不要担心,我会计算出远端服务器上的时间,只要能自动获取图片数据。
不过图片数据是否可能被 gzip 压缩过??能否解压?
beanbar 2008-07-21
  • 打赏
  • 举报
回复
但是即使这样,我尝试过以下方式:
1. file_get_contents
2. fopen / fsockopen
3. ob_start / readfile / ob_end_clean
4. curl
均不能取得数据。

我很怀疑是需要模拟出有效的cookie,加正确的时间参数t,我尝试过在curl里面加cookie,但是还是失败的。
所以我怀疑是不是我的curl代码有问题,因为对这个方面以前没任何成功经验。

所以我认为curl 模拟cookie,获得图片内容的可能性是有,如果有哪位大虾能做出来,ok,请和我联系,
不光在这里有虚拟的分数赠送,我另外给你500元的报酬。

谢谢!
fxs_2008 2008-07-21
  • 打赏
  • 举报
回复
这种后台进行了验证的,
你基本上是得不到图片的
不用想了
beanbar 2008-07-21
  • 打赏
  • 举报
回复
不是的,我发现:http://www.aio.com.tw/photo/showbphoto.asp?sex=F&sn=ai00099272&t=97072013

最后一个参数的t是他们网站用来进行时间验证的,比如现在时间是:7月21日3点半,那么最后那个参数应该是:97072115

那么这个连接就变成了: http://www.aio.com.tw/photo/showbphoto.asp?sex=F&sn=ai00099272&t=97072115

然后在这个基础上保证刷新过两次或者两次以上就可以看到数据了!

beanbar 2008-07-20
  • 打赏
  • 举报
回复
如果能做出来,我出500块钱的报酬,如果你没有作过,请不要乱说,谢谢!!!!
剑心永远OK 2008-07-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 beanbar 的回复:]
请看这张: http://www.aio.com.tw/photo/showbphoto.asp?sex=F&sn=ai00099272&t=97072013

我把它用外部连接的方式: <img src="http://www.aio.com.tw/photo/showbphoto.asp?sex=F&sn=ai00099272&t=97072013"> 在Firefox下面可以浏览,如果是IE,直接copy这个url到地址栏也可以看到图片。
[/Quote]
就是用这个URL直接COPY看不见.
wildlily980 2008-07-20
  • 打赏
  • 举报
回复
file_get_contents()可以接受cookie
查php.net手岫。
beanbar 2008-07-20
  • 打赏
  • 举报
回复
请看这张: http://www.aio.com.tw/photo/showbphoto.asp?sex=F&sn=ai00099272&t=97072013

我把它用外部连接的方式: <img src="http://www.aio.com.tw/photo/showbphoto.asp?sex=F&sn=ai00099272&t=97072013"> 在Firefox下面可以浏览,如果是IE,直接copy这个url到地址栏也可以看到图片。
剑心永远OK 2008-07-20
  • 打赏
  • 举报
回复
刷新了N次都没有看见图片...汗...

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧