1

私はこれで頭がいっぱいです。Web サイトのデータベースに接続しようとしています。私が使用している URL は次のとおりです。

URL を送信する前に、次のように文字列をエンコードします。

    NSString *strURL = [url stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    url = [url stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
    theURL = [NSURL URLWithString:strURL];

サーバーに接続しようとすると、次のエラー メッセージが表示されます。

NSLocalizedDescription = "不正な URL"; NSUnderlyingError = "エラー Domain=kCFErrorDomainCFNetwork Code=-1000 \"bad URL\" UserInfo=0xa11d760 {NSLocalizedDescription=bad URL

私は一生、何が起こっているのか理解できません。トラブルシューティングのために私が行ったアクションの一部を次に示します。

  1. 同じ方法でエンコードされたアプリ内の他の URL をテストしましたが、問題はありません。
  2. Safari、Google、Mozilla に直接 URL を入力して成功しました。
  3. ターミナルで curl を使用して URL をテストしたところ、クエリでキーと値のペアが割り当てられていないことがわかりました。たとえば、userid が null でした。
  4. エスケープされたテキストを curl コマンドラインに貼り付けたところ、結果は成功しました。

ここで何をすべきかわかりません。どんな考えでも大歓迎です!

4

1 に答える 1

0

私は問題を理解しました-接続に設定されたURLが適切にエスケープされなかったようです。メソッドに間違った文字列値を渡しました。コードでわかるように、strURLの代わりにURLを渡しました。

ご協力いただきありがとうございます!

于 2013-01-09T19:47:47.310 に答える