2016-07-17 10 views
2

簡単な問題。 URLがあり、資格情報を入力するためにユーザー名とパスワードを追加する必要があります。URL文字列に資格情報を追加する適切な方法はありますか?

C#でURL文字列と資格情報を受け取るメソッドがあるかどうかを知りたかったので、資格情報を含むURLを返します。私はこの機能を私は正確に何をしたいのですが、この機能は、特定の文字列を読んでいると、最終的にエラーが発生することがあり:

url = url.Substring(0, url.IndexOf("/") + 2) + userName + ":" + password + "@" + url.Substring(url.IndexOf("/") + 2); 

であることのこの方法で(それだけで、ユーザ名と資格情報を追加します)本当に静的な...私はURLの最終的な文字列を取得する必要があります。

+0

あなたはURLパラメータまたは完全なURLを変更していますか? "これはURL文字列と資格情報を受け取り、資格情報を含むURLを返します。"ビット混乱 –

+1

URLに「username」と「password」を追加するのは良い方法ではありません。すべてのサーバーで違いが必要です。これを最初にお読みください:https://msdn.microsoft.com/en-us/library/ms789031(v=vs.110).aspx –

+0

一般に、あなたがURLに例を示したように資格情報を含めることはお勧めできません。名前と値のペアであるHTTPヘッダーとして暗号化された資格情報を渡してください。あなたがやっているような構文解析を行う必要はありません。 –

答えて

6

使用UriBuilder

var uri = new Uri("http://www.example.org"); 
var uriWithCred = new UriBuilder(uri) { UserName = "u", Password = "p" }.Uri; 
関連する問題