0

2 つのパラメーターが必要な Json Web サービスを呼び出しています。ユーザー名とパスワード。渡そうとしているユーザー名に\は、ドメイン アカウントであるためバックスラッシュ ( ) が含まれています。companyname\jamesd.

これが私のコードです。

NSString *sName = @"companyname\\jamesd";

NSString *URL = [NSString stringWithFormat:@"http://checkin.companyname.com:2002/Checkin.svc/checklogin?username=%@&password=pass",sName];

問題は、Web サービスを呼び出すときにバックスラッシュが何らかの形で削除されることです -

NSLog(...)リクエストがどのように見えるかを出力するために使用します-

<NSURLRequest http://checkin.companyname.com:2002/Checkin.svc/checklogin?username=companynamejamesd&password=pass>

ユーザー名の http リクエストにバックスラッシュを強制的に含める方法を見つけようとしています。

4

1 に答える 1

1

Mike Wellerコメントに記載されているように、引数を URL エンコードする必要があります。 stringByAddingPercentEscapesUsingEncoding:次のような URL 文字列を作成した後、NSStringのメソッドを使用する必要があります。

NSString *URL = [NSString stringWithFormat:@"http://checkin.companyname.com:2002/Checkin.svc/checklogin?username=%@&password=pass",sName];
URL = [URL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

必要に応じてエンコーディングを変更できます。Apple Docsで iOS エンコーディングを確認してください。

また、URL 文字列を作成するときにバックスラッシュを追加していることを確認してください。

于 2013-05-15T07:58:50.290 に答える