Wget

執行 wget 時出現 406 Not Acceptable 錯誤

  • April 12, 2012

我在 crontab 中有這個命令:

wget --quiet --delete-after http://boms.ro/admincp/cron/s/9abf0f42c1e4f55fdb87d8237cdde

當我使用 –debug 參數執行它時,我得到以下響應:

Caching boms.ro => 188.240.2.30
Created socket 3.
Releasing 0x00000000010c97e0 (new refcount 1).

---request begin---
GET /admincp/cron/s/9abf0f42c1e4f55fdb87d8237cdde HTTP/1.0
User-Agent: Wget/1.12 (linux-gnu)
Accept: */*
Host: boms.ro
Connection: Keep-Alive

---request end---

---response begin---
HTTP/1.0 406 Not Acceptable
Date: Thu, 12 Apr 2012 18:29:45 GMT
Server: LiteSpeed
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
Cache-Control: private, no-cache, max-age=0
Pragma: no-cache
Content-Type: text/html
Content-Length: 372

---response end---
Registered socket 3 for persistent reuse.
Skipping 372 bytes of body: [<html>
<head><title> 406 Not Acceptable
</title></head>
<body><h1> 406 Not Acceptable
</h1>
This request is not acceptable<hr />
Powered By <a href='http://www.litespeedtech.com'>LiteSpeed Web Server</a><br />
<font face="Verdana, Arial, Helvetica" size=-1>LiteSpeed Technologies is not responsible for administration and contents of this web site!</font></body></html>
] done.

在我的請求中什麼被認為是“不可接受的”?

我看到一些關於mod_security“LiteSpeed”伺服器包中包含的(可能是一個錯誤的包含規則?)可能是原因的參考。

嘗試禁用mod_security- 順便說一句,406如果是這種情況,那麼響應程式碼的使用非常弱。

406 Not Acceptable 的含義是您的客戶端(在本例中為 wget 或代理)發送了 Accept: 標頭,但伺服器無法以它收到的 Accept: 標頭中列出的格式發送文件。Accept-* 標頭也會導致相同的行為。

因為您的接受標頭設置為接受任何 MIME 類型並且不包括對特定語言或任何內容的請求,所以這可能是 http 伺服器(或它正在執行的 CGI 應用程序)中的錯誤。

引用自:https://serverfault.com/questions/378949