2017-06-20 132 views
1



我想使用HttpWebRequest(控制檯應用程序)調用Web API。 要上傳的文件,我使用@Cristian Romanescu ONT這個問題Upload files with HTTPWebrequest (multipart/form-data)

如果我設置req.ProtocolVersion爲HttpVersion.Version10提供的代碼片段,我得到錯誤的請求時,我嘗試做req.GetResponseStream ()。
HTTPWebRequest無法創建SSL/TLS安全通道

如果我將req.ProtocolVersion設置爲HttpVersion.Version11,我得到無法創建SSL/TLS安全通道。當我嘗試做req.GetResponseStream()。

如果試圖用郵差發布的數據,但即使郵差說無法得到任何迴應。」

如果我嘗試使用IE-11我得到HTTP 404我知道打網址我沒有張貼的實際文件],而Chrome顯示自定義/相應的錯誤信息。

我想已經提供了計算器的解決方案,但遺憾的是他們並沒有解決我的問題。

三江源。

+0

404 ??沒有找到,也許是服務器iis的東西? –

+0

@LeonBarkan:Chrome顯示適當的錯誤信息,IE顯示HTTP 404 – sauraedron

+0

也許您需要從服務器獲取證書以安裝在客戶端? –

回答

1

兩件事情,我是做錯了。 MM:

  1. 服務器在YYYY-MM-DDTHH通緝日期SS,我是在提供YYYY-MM-DDTHH日期:MM:ss.ssss格式(DateTime.UtcNow.ToString( 「O」 ))。這是原因無法創建SSL/TLS安全通道

  2. 服務器也希望請求主體中的參數。我只將參數作爲查詢字符串傳遞。這是HTTP的原因404

在這個過程中,我曾經要求一個在我的團隊之外的人幫忙。他讓我看看是否有任何SSL相關的錯誤。爲此,他要求我添加 System.Net.ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);並定義AcceptAllCertifications,事實並非如此。所以要解決這個問題,我不得不照顧上面提到的事情。

1

您嘗試過哪種解決方案?這是值得嘗試以下,如果您尚未 - 寫以下之前,你實際調用服務:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; 
+0

我認爲SSL3不再被認爲是安全的。欲瞭解更多信息https:// stackoverflow。com/a/6584992/6190900 – Joseph

+0

感謝Joseph瞭解SSL3。我現在已經更新了答案。 – Nirman

+0

@Nirman:我確實已經啓用了TLS,TLS12 – sauraedron

相關問題