2012-08-31 75 views
4

我得到了error 1000 (URL bad excess),我不確定發生了什麼。樣品URL大致是這樣的(這已經是我從Bad URL when requesting with NSURL讀取編碼的百分比):NSURL Bad Excess

http://test1.test.com/X?op=find&base=tpl01&request=%28%28WCL=DVD%20or%20WCL=VCD%20or%20WCL=SDVD%29%20AND%20%28WFM=VM%29%20AND%20%28WIS=19%20or%20WIS=01%29%29 

不過,我仍然不知道爲什麼它不工作。

如果需要的話(前的百分比編碼):

http://test1.test.com/X?op=find&bas=tp01&request=((WCL=DVD or WCL=VCD or WCL=SDVD) AND (WFM=VM) AND (WIS=19 or WIS=01)) 

在我的互聯網連接,我已經記錄了request.URL但它只是似乎被清零。我確實插入了我的網址。將以任何方式感謝您的幫助。

+2

哪裏是你的代碼? –

+1

我想我們需要看看創建NSURL的一些代碼。 – mttrb

+1

另外,您是否允許在Aleph的'server_ip_allowed'配置文件中訪問iPhone的IP地址。如果你正在編寫一個通用版本的應用程序,允許客戶端直接與X-Server對話是一個非常糟糕的主意,我會通過中間Web服務代理請求來保護你的Aleph實例免受惡意請求的侵害。 – mttrb

回答

0

編輯:的編碼類型stringByAddingPercentEscapesUsingEncoding可能會解決你的問題

NSString* urlText = @"http://test1.test.com/X?op=find&bas=tp01&request=((WCL=DVD or WCL=VCD or WCL=SDVD) AND (WFM=VM) AND (WIS=19 or WIS=01))"; 
urlText = [urlText stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
NSURL *url = [NSURL URLWithString: urlText]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url 
                 cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData 
                timeoutInterval:10]; 

[request setHTTPMethod: @"GET"]; 

    NSError *requestError; 
NSURLResponse *urlResponse = nil; 


NSData *response1 = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&requestError]; 

希望這有助於

+0

給出的網址沒有任何反應 –

+0

我不確定這個答案是特別有用的。我相信OP已經在這個問題上改變了他的服務器的主機名。他甚至說「示例URL大致看起來像這樣」,這意味着他發佈的URL不是實際的URL。 – mttrb

+0

@王子是的,抱歉,我忘記提及我更改了主機名。請原諒我,因爲我處於難以透露網址的狀態。正常的URL正在工作,但只有當我使用應用程序來獲取數據使用URL,然後它返回一個NULL值request.URL – Sahara