奇怪的是,我試圖讀取<頭>部分的很多不同的網站和一個特定類型的服務器, Apache,有時會給代碼403禁止。並不是所有的Apache服務器都這樣做,所以它可能是一個配置設置或服務器的特定版本。System.Net.WebClient請求獲取403 Forbidden,但瀏覽器不與Apache服務器
當我用網頁瀏覽器(例如Firefox)檢查網址時,網頁加載正常。該代碼八九不離十是這樣的:
var client = new WebClient();
var stream = client.OpenRead(new Uri("http://en.wikipedia.org/wiki/Barack_Obama"));
通常情況下,403是一個訪問權限故障之類的事情,但這些通常是不安全的網頁。我認爲Apache正在過濾請求頭中的某些內容,因爲我不打算創建任何內容。
也許有人對Apache有更多的瞭解,可以給我一些關於標題中缺少的東西的想法。我想保持儘可能小的頭部以儘量減少帶寬。
感謝
這是我所需要的提示。謝謝! – 2012-02-20 21:59:26
403也可能由TLS問題引起。爲了驗證,你應該檢查WebException.Response對象的文本。或者,嘗試將其添加到您的代碼中: 'ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;' 這將強制TLS 1.2 – 2018-01-16 16:06:23