2013-05-07 24 views
0

我想通過一個HTTP GET請求,下載從雲文件,並在我的REST客戶端(郵差Chrome瀏覽器)我得到預期的結果,但是當我在iOS中傳遞請求,我得到一個NULL響應。可能是什麼問題呢?iOS版 - REST客戶端正常工作,同時的NSURLRequest返回NULL

在我的REST客戶端,我通過URL作爲http://myserver.com/api/download.json?filepath=/&fileid=document:1pLNAbof_dbXGn43GtMNafABMAr_peTToh6wEkXlab7U&filename=My Info.doc與一個授權密鑰頭字段,它完美的罰款。 雖然在iOS上,如果我做這樣的事情:

[request setURL:[NSURL URLWithString:URLString]]; // I tried even to hardcode the 
               // URLString to be one of the 
               // working URLs from the Postman 
               // Client, doesn't work as well. 
[request setHTTPMethod:@"GET"]; 
NSData* response = [NSURLConnection sendSynchronousRequest:request 
              returningResponse:&urlResponseList 
              error:&requestErrorList]; 

反應是空的,我得到一個狀態碼500 任何人知道如何使這項工作?謝謝。當WebService無法處理您的請求時

回答

1

它看起來像你的網址中有一個空格,你需要在發送字符串到NSURL之前轉義它。

它也將是有益知道從你的服務器的完整的錯誤是什麼,如果這行不通。 requestErrorList包含什麼?

但如果唯一的問題是,非轉義字符這樣的事情應該工作。

NSString *encodedString = [URLString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
[request setURL:[NSURL URLWithString:encodedString]; 
1

HTTP狀態代碼500。發生內部錯誤。

嘗試添加一些更多細節到您的請求。

[request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
相關問題