Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NSURL doesn't seem to want to accept my querystring

Hi there I have this code

NSLog(@"%@",URLRequestQueryString);
NSString *sendToServerString = [NSString stringWithFormat:@"http://mydomain.co.uk/req.php%@",URLRequestQueryString];
NSURL *sendToServer = [[NSURL alloc] initWithString:sendToServerString];
NSLog(@"%@",sendToServer);
NSLog(@"%@",sendToServerString);

URLRequestQueryString is just a standard querystring that I have built up throughout the script.

The first NSLog works fine and outputs a proper querystring (if I copy and paste it into a browser then the page will load and run correctly.

This is also the case when I output sendToServerString it correctly outputs the URL with querystring (which I can also copy and paste into a browser).

However sendToServer ouputs (null). If I remove the querystring it will correctly output the domain and path.

Any idea why this happens? How can I sort it?

Thank you.

like image 325
Thomas Clayson Avatar asked Dec 29 '22 08:12

Thomas Clayson


2 Answers

NSURL *sendToServer = [NSURL URLWithString: [sendToServerString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
Could be what you are looking for. :)

like image 81
Gubb Avatar answered Jan 10 '23 03:01

Gubb


You need see NSString reference. A Section named "Working with URLs". Under this section has two method

  • stringByAddingPercentEscapesUsingEncoding:
  • stringByReplacingPercentEscapesUsingEncoding:
like image 25
AechoLiu Avatar answered Jan 10 '23 02:01

AechoLiu