1. 程式人生 > >C# post資料時 出現如下錯誤: System.Net.WebException: 遠端伺服器返回錯誤: (417) Expectation Failed 的解決辦法

C# post資料時 出現如下錯誤: System.Net.WebException: 遠端伺服器返回錯誤: (417) Expectation Failed 的解決辦法

問題描述:
服務端環境:
linux + apache(lighttpd) + php5

客戶端環境:
windowsxp + iis + .net


呼叫時出現如下錯誤:
System.Net.WebException: 遠端伺服器返回錯誤: (417) Expectation Failed。     在 System.Net.HttpWebRequest.GetResponse()     在 org.phprpc.PHPRPC_Client.POST(String requestString)     在 org.phprpc.PHPRPC_Client.Invoke(String function, Object[] args, Boolean byRef, Byte encryptMode)

為人檢出錯誤:
將服務寫在windows的機器上錯誤就沒有了


經過牛人”神童哥“的指點:
寫.net程式時在始化程式碼中(Program.cs中),或者配置檔案app.config之類的檔案中
加下這麼一句就可以了
ServicePointManager.Expect100Continue = false;  


效果不錯,問題解決



歸納其原因:
httpwebrequest控制元件有一個透明過程,先向服務方查詢url是否存在而不傳送POST的內容,伺服器如果證實url是可訪問的,才傳送POST,早期的Apache就認為這是一種錯誤,而IIS卻可以正確應答 (神童哥)

相關推薦

C# post資料 出現如下錯誤: System.Net.WebException: 遠端伺服器返回錯誤: (417) Expectation Failed解決辦法

問題描述: 服務端環境: linux + apache(lighttpd) + php5 客戶端環境: windowsxp + iis + .net 呼叫時出現如下錯誤: System.Net.WebException: 遠端伺服器返回錯誤: (417) Expectation Failed。     在 S

C#中POST請求出現System.Net.WebException: 遠端伺服器返回錯誤: (417)Expectation Failed解決辦法

在使用POST請求的時候,當要POST的資料大於1024位元組的時候,服務不會直接就發起POST請求,而是會分為倆步: (1)傳送一個請求, 包含一個Expect:100-continue, 詢問Ser

針對HTTP訪問出現的:System.Net.WebException:“請求被中止: 未能建立 SSL/TLS 安全通道。”問題

是因為request請求中缺少設定UserAgent屬性。User Agent中文名為使用者代理,簡稱 UA,它是一個特殊字串頭,使得伺服器能夠識別客戶使用的作業系統及版本、CPU 型別、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器外掛等。一些網站常常通過判斷 UA 來給

WebException遠端伺服器返回錯誤: (400) 錯誤的請求。

try { var rsp = (System.Net.HttpWebResponse)req.GetResponse();//正常情況獲取web伺服器返回資料 } catch (System.Net.WebException ex) { Debug.Write(ex.Message);//遠端

ASP.NET HttpWebResponse 遠端伺服器返回錯誤: (403) 已禁止

問題:GET形勢獲取URL的返回值出現對訪問同一URL過於頻繁就會出現403已禁止 。 解決方案:增加獲取身份驗證資訊  httpRequest.UserAgent = "Code Sample Web Client";  httpRequest.Credentials

使用POST出現遠端伺服器返回錯誤: (411) 所需的長度”

程式使用 HTTP 協議和伺服器互動主要是進行資料的提交,通常資料的提交是通過 GET 和 POST 兩種方式來完成,下面對這兩種方式(.net c#)進行一下說明:1. GET 方式。 GET 方式通過在網路地址附加引數來完成資料的提交,比如在地址 http://www.google.com/webhp?h

解決C#中呼叫WCF方法報錯:遠端伺服器返回錯誤 (404) 未找到

IIS配置問題,解決方法: 1. 首先新增MIME型別 副檔名“.svc”,MIME型別 “application/octet-stream”  2、處理程式對映--新增託管處理程式 請求路徑 “.svc” 型別 “System.ServiceModel.Activation.HttpH

C# 中WinForm 應用程式實現遠端檔案管理(上傳、下載)的種種問題——遠端伺服器返回錯誤

C# 中WinForm 應用程式實現遠端檔案管理(上傳、下載)的種種問題    WinForm可以通過C#語言提供的WebClient類的UploadFile和DownLoadFile函式實現檔案的上傳和下載功能,但是這也讓我嘗試到了使用這個函式時的辛酸,搞了整整一天才

C# FTP操作 WebRequestMethods.Ftp.RemoveDirectory,遠端伺服器返回錯誤:(550) 檔案不可用(例如,未找到檔案,無法訪問檔案)

今天用程式碼刪除FTP伺服器上的目錄時候,報錯:遠端伺服器返回錯誤:(550) 檔案不可用(例如,未找到檔案,無法訪問檔案)。 習慣性的google,不外乎以下幾點: 1.URL路徑不對,看看有沒有多加空格,或者大小寫問題 2.許可權是否足 3.需要反覆連線的時候,如Get

jquery $.ajax+php使用jsonp處理資料,前端success :function無法獲取伺服器返回資料

說明:下面描述的過程前端使用的jQuery 前提下完成的 $.ajax+php開發應用時,由於某些原因,ajax必須使用跨域操作處理資料(jsonp)發現 success:function(msg){ alert(msg); } 不執行,但是ajax請求php的資料在後端

使用selenium出現 " FileNotFoundError: [WinError 2] 系統找不到指定的檔案。" 的解決辦法

在使用python的selenium模組模擬瀏覽器登入,使用的下面的程式碼 #author: aspiring from selenium import webdriver # 例項化一個瀏覽器 driver = webdriver.Chrome() # 傳送請求 dr

HttpWebResponse遠端伺服器返回錯誤: (500) 內部伺服器錯誤

現象 我們編碼實現請求一個頁面時,請求的程式碼類似如下程式碼: HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl);req.UserAgent = "MSIE6.0";req.Method = "GET";HttpWebRespon

"遠端伺服器返回錯誤: (500) 內部伺服器錯誤"錯誤處理

公司購買的百傲瑞達一卡通軟體,提供Restful API呼叫,使用SoapUI能夠呼叫成功,但在C#裡用程式碼呼叫時一直報錯:"遠端伺服器返回錯誤: (500) 內部伺服器錯誤" 找了很久,最後發現是需要設定UserAgent,在SoapUI裡面找到成功呼叫時顯示的User-Agent,再在程式碼里加上一句

Nuget遠端伺服器返回錯誤:已禁止

        接著上篇文章,Nuget管理我們的類庫在第七步時候出現無法將最後的包推送到Nuget伺服器,也就是說即使你用不同的Nuget API Key 釋出的也不可以,別人引用的時候就分不出哪個

SharePoint 2013 遠端伺服器返回錯誤: (400) 錯誤的請求。 不支援查詢字串中的 api-version

警告: 請務必先在測試環境測試,以免出現意外。我經驗證安裝KB2799752補丁後,IIS中12291埠站點被沖掉了。 環境: Windows Server 2012 R2 Standard SharePoint Server 2013 with sp1 通過Web

遠端伺服器返回錯誤: (417) Expectation Failed解決辦法

寫.net程式時在始化程式碼中,或者配置檔案app.config之類的檔案中 加下這麼一句就可以了 System.Net.ServicePointManager.Expect100Continue

遠端伺服器返回錯誤 411 所需的長度

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!                遠端伺服器返回錯誤 (411) 所需的長度。作者Attilax ,  EMAIL:[email protected]webrequest  請求時,方

System.Net.WebException: 請求因 HTTP 狀態 417 失敗: Expectation failed 問題

今天被System.Net.WebException: 請求因 HTTP 狀態 417 失敗: Expectation failed的問題搞死了 通過url訪問伺服器上的webservice是沒問題的 但在程式中訪問就出現System.Net.WebException

遠端伺服器返回錯誤: (401) 未經授權

1、錯誤號401.1       症狀:HTTP   錯誤   401.1   -   未經授權:訪問由於憑據無效被拒絕。       分析:       由於使用者匿名訪問使用的賬號(預設是IUSR_機器名)被禁用,或者沒有許可權訪問計算機,將造成使用者無法訪問。    

遠端伺服器返回錯誤:Expectation Failed

這個異常源自HTTP1.1協議的一個規範: 100(Continue) 100(Continue)狀態程式碼的解釋 允許客戶端發request訊息body之前先用request header試探一下server,看server要不要接收request body,再決定要不要發