怎么用wget下载被php隐藏的文件??

sh/bash/dash/ksh/zsh等Shell脚本
回复
robinmu
帖子: 22
注册时间: 2007-09-09 14:07

怎么用wget下载被php隐藏的文件??

#1

帖子 robinmu » 2008-04-29 2:34

如这个的文件http://forum.ubuntu.org.cn/download.php?id=30693
这样的网址用wget该怎么下载呀??
thword
帖子: 119
注册时间: 2007-04-09 12:19

#2

帖子 thword » 2008-04-29 9:21

目前wget似乎做不到。

几条解决建议:
1、直接用图形界面的下载工具下载,或者浏览器。
如果一定要在命令行下,则
2、用wget的 -O 选项,手动指定输出的文件名。
3、用w3m或lynx下载
4、编写一个脚本,获取http头,分析取得真实的文件名,然后应用在wget的 -O 选项里
thword
帖子: 119
注册时间: 2007-04-09 12:19

#3

帖子 thword » 2008-04-29 10:09

代码: 全选

#! /bin/bash
tmp=/tmp/wgettmp
wget -S --spider $1 -o $tmp
filename=`grep Content-Type $tmp | sed 's/.*\=//;s/\"//g'`
wget $1 -O $filename
rm $tmp
写了个脚本,用前面说的第4种思路
谁再改改,争取把临时文件去掉
sed那句也应该可以写得更简单点
robinmu
帖子: 22
注册时间: 2007-09-09 14:07

#4

帖子 robinmu » 2008-04-29 14:17

见下:::
上次由 robinmu 在 2008-04-29 14:37,总共编辑 3 次。
robinmu
帖子: 22
注册时间: 2007-09-09 14:07

#5

帖子 robinmu » 2008-04-29 14:17

楼上的,我用了你的脚本但是结果是:
[myname@localhost ~]$ ./wget_test.sh download.php?id=30693
weather1day.tar.gz

wget:选项需要一个参数 -- O
用法: wget [选项]... [URL]...

请尝试使用“wget --help”查看更多的选项。

===
我没有下到需要的文件。
奇怪的是如果我在命令行下直接输入:
wget download.php?id=30693 -O weather1day.tar.gz
却可以正常下载,但是用脚本就是不行,这是怎么回事呢??
thword
帖子: 119
注册时间: 2007-04-09 12:19

#6

帖子 thword » 2008-04-29 14:45

这个脚本我自己测试过,是可以下载的

你可以试着把临时文件的地址改一下,比如改成

代码: 全选

tmp=~/wgettmp
当然,也有可能是复制的时候出了些问题,再比对一下看看

或用这个试试
附件
wget_test.sh.tar.gz
(242 Bytes) 已下载 131 次
robinmu
帖子: 22
注册时间: 2007-09-09 14:07

#7

帖子 robinmu » 2008-04-29 16:27

谢谢,可以了!!!
该死的IE。
头像
millenniumdark
论坛版主
帖子: 4159
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
联系:

#8

帖子 millenniumdark » 2008-04-29 18:56

curl就不用麻烦。认http头的。
回复