首頁 >後端開發 >C++ >將基本驗證與 HttpWebRequest 結合使用時如何修復「發送時出現意外錯誤」?

將基本驗證與 HttpWebRequest 結合使用時如何修復「發送時出現意外錯誤」?

Susan Sarandon
Susan Sarandon原創
2025-01-10 19:26:42221瀏覽

How to Fix

使用基本驗證對 HttpWebRequest 中的「傳送時出現意外錯誤」進行故障排除

使用 HttpWebRequest 進行基本驗證有時會導致「發送時出現意外錯誤」訊息。 此問題通常可以透過手動將授權標頭新增至您的請求中來解決。

此解決方案涉及將您的使用者名稱和密碼編碼為 Base64 字串,確保跨各種 HTTP 伺服器的兼容性。 System.Convert.ToBase64String 方法與 ISO-8859-1 編碼結合,實現了這一點:

<code class="language-csharp">string username = "abc";
string password = "123";
string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password));</code>

接下來,將此編碼字串附加到「Basic」身份驗證方案中,並將其作為「Authorization」標頭添加到您的 HttpWebRequest 物件中:

<code class="language-csharp">httpWebRequest.Headers.Add("Authorization", "Basic " + encoded);</code>

使用指定編碼的手動標頭添加可確保與需要基本身份驗證的伺服器進行正確通信,從而防止請求過程中出現「發送時出現意外錯誤」。

以上是將基本驗證與 HttpWebRequest 結合使用時如何修復「發送時出現意外錯誤」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn