Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在通过 php 的 shell_exec() 运行 wget 我怎么能理解 wget 获取文件时出现 404 错误?
谢谢你。
我认为你正在解决错误的问题。请先尝试CURL,然后再使用David在评论中首次建议的有意义的、可解析的状态。
据此,当遇到简单的“下载文件XYZ”操作时,wget由于某种原因下载失败时会返回返回码1。它不适用于镜像站点等复杂操作,但在您的情况下,它应该没问题。
您可以使用exec() `s "return_var" 变量获取返回码。
如果 Wget出现正确的 404 页面,它应该返回1(或其他一些不是的状态代码)。0试试看。
1
0
要真正区分 wget 收到的确切错误状态代码,我认为您必须开始解析其输出(或使用基于 PHP 的 Web 客户端类。)
您可以使用如下命令行exec:
exec
exec("wget http://www.google.com/not_present.html 2> some_temp_file ",&output,&retvalue);
检查retvalue以查看是否发生错误。非零值表示发生错误。由于我们已将标准错误重定向到some_temp_file,因此您可以 grep 此文件以获取模式404 Not Found。如果存在,则表明 a404已经发生。
retvalue
some_temp_file
404 Not Found
404