2011-01-20 62 views
2

Apache CouchDB要求使用雙引號將密鑰括起來:「但是,當轉義結果nsurl在記錄到控制檯時返回(null),並且返回結果響應(null)。NSURL請求中的雙引號

下面的代碼:

NSURL *url = [[NSURL alloc] initWithString:@"http://username:[email protected]:5984/points/_design/user/_view/where?key=\"m0rph3v5\""]; 

我用22%而不是雙引號這也不能工作的也試過

如何才能成功地我在請求中添加雙引號url?

回答

2

原來,它與我嘗試將%22作爲變量加密並因此搞砸了url的stringWithFormat有關。

使用的NSMutableString和附加的關鍵變量竟然能正常工作:)

+0

如果你想在格式化字符串中使用字面值%,可以使用'%% `。 HTH! – Wevah 2011-01-26 11:24:17

1

使用%22爲我工作。我得到使用這行代碼的有效NSURL對象:

NSURL *url = [[NSURL alloc] initWithString:@"http://username:[email protected]:5984/points/_design/user/_view/where?key=%22m0rph3v5%22"]; 

奇怪的是,這個工作沒有逃脫@符號。
IIRC它也應該被轉義(%40)。

+0

我確實得到與一個有效的URL對象,但該URL成果轉化爲以下內容:http://用戶名:密碼@ GCG。 cloudant.com:5984/points/_design/user/_view/where?key=20rph3v52,自從「m0rph3v5」結束以來,從couchdb本身返回一個錯誤的請求20rph3v52 – M0rph3v5 2011-01-20 13:24:47