NSURL *url = [NSURL URLWithString:@"appName://<?xml version=\"1.0\" encoding=\"UTF-8\"?>"];
しかし、url = nil. 「<」と「>」記号を削除すれば問題ないことがわかりました。では、この 2 つの記号は URL では使用できないのでしょうか? サインを別のものに交換する必要がありますか?
ありがとう!
NSURL *url = [NSURL URLWithString:@"appName://<?xml version=\"1.0\" encoding=\"UTF-8\"?>"];
しかし、url = nil. 「<」と「>」記号を削除すれば問題ないことがわかりました。では、この 2 つの記号は URL では使用できないのでしょうか? サインを別のものに交換する必要がありますか?
ありがとう!
この問題を解決しました。NSURL *url = [NSURL URLWithString:@"...."]; を実行する前に 私は最初に行います:
NSString *urlStr = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
そして、受信側でこの URL を解析するときは、まず次のことを行います。
NSString *urlString = [[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; // url is a NSURL
リクエストの本文でドキュメントを POST しないのはなぜですか?
GET リクエストは、このために設計されていません。ドキュメントに UTF-8 文字があると、問題が発生する可能性があります。
また、さまざまなブラウザでの URL の最大長は? 最大 2083 文字であることを意味します。
あなたは非常にブラウザ/プロキシに依存するシナリオになっています。
理論的にはそうです。これを行うには、urlEncode を使用できます。HTTP プロトコルでは、URL の長さに制限はありません。
RFC は次のように述べています。
注: 一部の古いクライアントまたはプロキシの実装では、これらの長さが適切にサポートされていない可能性があるため、サーバーは 255 バイトを超える URI の長さに依存することに注意する必要があります。