關於用file()讀取url的疑問

來源:互聯網
上載者:User
 $buffer = file("http://www.sina.com.cn");  for($i=0;$i

讀取新浪沒問題,
但是讀163的話,就提示:
因為您的ISP供應商並沒有遵循標準的互連網協議,我們對您的訪問作出限制,敬請諒解。 您可以通過以下連結繼續訪問 www.163.com
而讀取豆瓣,就報warning:
Warning: file(http://www.douban.com) [function.file]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in C:\wamp\www\1\1.php on line 25
讀搜狐就全是亂碼
這是怎麼回事?

回複內容:

 $buffer = file("http://www.sina.com.cn");  for($i=0;$i

讀取新浪沒問題,
但是讀163的話,就提示:
因為您的ISP供應商並沒有遵循標準的互連網協議,我們對您的訪問作出限制,敬請諒解。 您可以通過以下連結繼續訪問 www.163.com
而讀取豆瓣,就報warning:
Warning: file(http://www.douban.com) [function.file]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in C:\wamp\www\1\1.php on line 25
讀搜狐就全是亂碼
這是怎麼回事?

使用PHPfile函數發出的 HTTP請求是這樣的

GET / HTTP/1.0HOST: www.douban.com

而瀏覽器發出的是這樣的

GET / HTTP/1.1Host: www.douban.comConnection: keep-aliveAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8User-Agent: xxxxxxxxxxxxxxxxxxAccept-Encoding: gzip, deflate, sdchAccept-Language: zh-CN,zh;q=0.8,en;q=0.6

這樣題主能否理解呢(主要關注第一行的差異即可)?

如果還是不理解,請繼續看

但是讀163的話,就提示: 因為您的ISP供應商並沒有遵循標準的互連網協議,我們對您的訪問作出限制,敬請諒解。 您可以通過以下連結繼續訪問
www.163.com

163不支援 HTTP/1.0協議,但它的伺服器配置了接受HTTP/1.0的請求,當你使用HTTP 1.0協議訪問,會被302跳轉到http://www.163.com/special/0077jt/error_isp.html,也就是顯示上述文本的錯誤頁面

而讀取豆瓣,就報warning: Warning: file(http://www.douban.com) [function.file]:
failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in
C:\wamp\www\1\1.php on line 25

同樣,豆瓣不支援HTTP/1.0,對待HTTP/1.0請求更暴力,直接拒絕(403),因為它的伺服器沒有配置啟用HTTP1.0

讀搜狐就全是亂碼

因為sohu的首頁,是預設gzip壓縮的

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.