Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 如何在wget中将相对URL更改为绝对URL_Unix_Shell - Fatal编程技术网

Unix 如何在wget中将相对URL更改为绝对URL

Unix 如何在wget中将相对URL更改为绝对URL,unix,shell,Unix,Shell,我正在编写一个shell脚本,从站点下载并显示内容,并将此内容保存到本地文件系统 我在脚本中使用了以下命令来获取内容: /usr/sfw/bin/wget -q -p -nH -np --referer=$INFO_REF --timeout=300 -P $TMPDIR $INFO_URL 其中INFO\u REF是我需要显示INFO\u URL内容的页面 问题是,我能够以html页面的形式获取内容(图像/css),但在这种html中,指向不同站点的图像和标题上的链接不起作用,URL的路径

我正在编写一个shell脚本,从站点下载并显示内容,并将此内容保存到本地文件系统

我在脚本中使用了以下命令来获取内容:

/usr/sfw/bin/wget -q -p  -nH -np --referer=$INFO_REF --timeout=300 -P $TMPDIR $INFO_URL
其中
INFO\u REF
是我需要显示
INFO\u URL
内容的页面

问题是,我能够以html页面的形式获取内容(图像/css),但在这种html中,指向不同站点的图像和标题上的链接不起作用,URL的路径(图像链接)正在更改为我的本地文件系统路径

我尝试在wget中添加
-k
选项,使用此选项,这些URL将指向正确的位置,但现在图像不会出现,因为图像路径正在从相对位置更改为绝对位置。没有
-k
图像可以正常显示


请告诉我可以使用什么选项,以便页面中的图像和链接都能正常显示。我需要使用两个单独的wget命令吗?一个用于图像,另一个用于页面中的链接?

根据wget手册:

实际上,下载一页 以及所有必要条件(即使 存在于不同的网站上),并使 确保该批次显示正确 在本地,作者喜欢使用 除了-p之外,几乎没有其他选项:

wget-E-H-k-k-p

为了使其适应您的需要:

/usr/sfw/bin/wget -q -E -H -k -K -p -nH --referer=$INFO_REF --timeout=300 -P $TMPDIR $INFO_URL
我删除了-np,因为我认为它是错误的(可能父目录中存在页面依赖项)