2011-11-15 25 views
2

我有這個網址,我似乎無法得到下面的代碼工作NSURL與編碼

在這段代碼urlToGrab = http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search%20host%3D%22JRVIN-LT%22

NSURL *url = [NSURL URLWithString:urlToGrab]; 
[webView loadRequest:[NSURLRequest requestWithURL:url]]; 

此代碼不能正常工作。當設置斷點'url'爲空時。如果我使用「http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true & q =搜索」,它將起作用。

+0

什麼URLToGrab樣子? – CodaFi

+0

你好igervin ...我寫下面的代碼....但我不會得到空 –

回答

3

您必須首先對該字符串進行URL解碼。例如:

NSString * urlToGrab = [[@"http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search%20host%3D%22JRVIN-LT%22" 
    stringByReplacingOccurrencesOfString:@"+" withString:@" "] 
    stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

NSURL *url = [NSURL URLWithString:urlToGrab]; 
[webView loadRequest:[NSURLRequest requestWithURL:url]]; 

將「+」替換爲「」,以防萬一您有另一個包含「+」的編碼網址。

1

我寫像下面的代碼....但我我以前不得到空

NSString *str=[[NSString alloc] initWithString:@"http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search%20host%3D%22JRVIN-LT%22"]; 
NSURL *url = [NSURL URLWithString:str]; 
+1

問題不在於OP是否爲空。順便說一句,沒有什麼在Objective-C中稱爲null,它是零。 問題是爲什麼webView無法正確加載URL。 – Dimme

0

應該是:

NSString * urlToGrab = [[@"yourURL" 
stringByReplacingOccurrencesOfString:@"+" withString:@" "] 
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

不是 「stringByReplacingPercentEscapesUsingEncoding」