6

文字列URLのホスト名を取得する必要があります

文字列からNSURLオブジェクトを作成し、NSURLのhostプロパティを使用してホスト名を取得しようとしています。ただし、ホスト名は常にnullです。

NSURL *url = [NSURL URLWithString: @"www.google.com"];
NSLog(@"Host name %@", url.host);

ただし、ホスト名は常にnullです。ホスト名がnullである理由を誰かが説明できますか?

編集:質問をしているときに引用符とカンマを見逃したというタイプミスがあったことをお詫びします。しかし、問題は同じです。

4

3 に答える 3

8

Appleのドキュメントによると、

- (NSString *)host;

戻り値:

URLのホスト。受信者がに準拠していない場合はRFC 1808、nilを返します

したがって、に準拠していない場合はRFC 1808、nilを返します。の定義に従ってRFC 1808

正しい構文は次のとおりです。

<scheme>://<net_loc>/<path>;<params>?<query>#<fragment>

http://したがって、形成中にも追加する必要がありますNSURL

NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
NSLog(@"Host name %@", url.host);
于 2012-10-29T22:11:06.790 に答える
1

www.google.comの後に「」がないようです。に追加してみてください。

NSURL *url = [NSURL URLWithString: @"www.google.com"];
NSLog(@"Host name %@", url.host);                  ^
                     ^

(2行目には、コンマも追加しました。可能な限り^でポイントしようとしました)

編集:ああ、それなら2行目のコンマかもしれません。

于 2012-10-29T22:04:50.517 に答える
0

これを行うと、より効果的に機能します(http://を追加):

NSURL *url = [NSURL URLWithString: @"http://www.google.com"];
NSLog(@"Host name %@", url.host);
于 2012-10-29T22:05:48.663 に答える