NSURLRequest
が特定のポート番号NSURL
を満たすために使用するポート番号を調べる方法はありますか?スキームのデフォルトポートを取得しますか?
もちろん、私はhttp
リクエストのポート80とhttps
リクエストのポート443をハードコードすることができます。しかし確かに、Cocoa TouchのURLスキームからポート番号を取得する組み込みの方法があります。
NSURL
のport
メソッドは、URLにポートが指定されている場合にのみ値を返します。それはhttp://stackoverflow.com:80
で動作しますが、より一般的なものではありませんhttp://stackoverflow.com
。
ここでのコンテキストは、私がリダイレクトしているWebサービスにサインインしているということです(http://webservice.invalid/path/to/apiからhttp://webservice2.invalid:2003/path/to/apiに)。すべてのURLはサービスのベースに基づいています現実を反映して今後のリダイレクトを避けるために更新したいURLです。
現時点では、スキームとホストを抽出していますが、ポートが変更される可能性も考慮していませんでした。
これは機能しません。ポートにURLが指定されていない場合、返されるポートはnilです。これは、スキームのデフォルトポートではなく、URLに指定されたポートだけです。 –
最初の質問では、ポートがURLの一部ではないと明示する必要がありました。私はそれを更新しました。 –
港には何が必要ですか?既定のポートはRFC 1808に従ってデフォルトで使用されるポートになるので、必要に応じてハードコーディングできます。 – Joe