2012-08-06 67 views
0

我有一個帶參數的URL。在Firefox中。我有下載加載項並找到請求的參數。我在httpFox附加工具上找到了PostData Tab,我看到了參數和值。如何發送NSMutableURLRequest的PostData請求

我創建了一個字符串,並添加參數,並編碼字符串的值

NSString *parameterId = [NSString StringWithFormat:@"ac$2_sdrex_es34_4333f=Caa111"]; 

NSString EncodeID = [parameterId 
    stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 

...並創建了POSTDATA,

PostData = [encodeID dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

...並設置postLength,

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 

...並設置http標頭值,

[request setValue:postLength forHttpHeaderField:@"Content-Length"]; 
[request setHTTPBody:postData]; 

,然後進行連接,

connection = [[NSURLConnection alloc]initWithRequest:request delegate:self]; 

但是這會導致下面的錯誤...

Error Domain = NSURLErrorDomain code= -1002 unsupported url 

我已編碼的網址了。

任何人都可以告訴我如何解決這個問題?

This is what after creating the postData!     

NSURL * url = [NSURL URLWithString:urlString];
theRequest = [[NSMutableURLRequest alloc] initWithURL:url];

[theRequest setValue:@"win-eqjf1b1ep06:20000" forHTTPHeaderField:@"Host"]; 
[theRequest setValue:@"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10" forHTTPHeaderField:@"User-Agent"]; 
[theRequest setValue:@"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" forHTTPHeaderField:@"Accept"]; 
[theRequest setValue:@"en-us,en;q=0.5" forHTTPHeaderField:@"Accept-Language"]; 
[theRequest setValue:@"gzip,deflate" forHTTPHeaderField:@"Accept-Encoding"]; 
[theRequest setValue:@"ISO-8859-1,utf-8;q=0.7,*;q=0.7" forHTTPHeaderField:@"Accept-Charset"]; 
[theRequest setValue:@"115" forHTTPHeaderField:@"Keep-Alive"]; 
[theRequest setValue:@"keep-alive" forHTTPHeaderField:@"Connection"]; 


[theRequest setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[theRequest setHTTPBody:postData]; 

@all 預先感謝

+0

請同時發佈您用於初始化NSMutableURLRequest本身的代碼,謝謝。 – Snips 2012-08-06 08:46:57

+0

@snips我用NSMutableURLRequest編輯! – kiran 2012-08-06 09:18:12

回答