如何在请求中使用get参数处理重定向URL?

我试图从服务器(aspx)获取HTML响应。

NSString *urlstr = [[NSString alloc] initWithFormat:@"http://www.someSiteThatRedirectsWithGetParameters.com?parameter1=1&parameter2=2"]; NSURL *url = [ NSURL URLWithString:urlstr]; NSMutableURLRequest *urlRequest = [ NSURLRequest requestWithURL: url]; NSData data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error]; NSURL *lastURL=[response URL]; NSLog(@"Last url %@", lastURL); 

我将lastURL作为www.someSiteThatRedirectsWithGetParameters.com获取,因此无法获取原始请求url的html页面。

为什么会这样,我该如何解决这个问题呢?

编辑

这就是我到目前为止所尝试的内容: 获取iOS 5中最后一个重定向的URL? 但我仍然无法实现我想要的东西即:获取原始GET请求的html页面源(通过重定向)在url中有参数?

我将lastURL作为www.someSiteThatRedirectsWithGetParameters.com获取,因此无法获取原始请求url的html页面。

如果您的请求被重定向,那是因为您要连接的服务器告诉您第一次发出请求的URL上没有页面,您应该使用重定向的URL。 这是重定向响应的重点。

如果您获得的响应是HTTP 303 ,则新请求将正确地从POST更改为GET。 有时这样做是为了避免刷新页面重新提交原始请求而导致不良后果的情况。 在这种情况下,您将请求POST到某个URL,服务器接受请求,但通过将客户端重定向到最终显示服务器响应的不同URL进行响应。

为什么会这样,我该如何解决这个问题呢?

我已经解释了上面的’为什么’。 “解决方案”是接受来自服务器的响应,并按照重定向到包含服务器响应的URL。

我会尝试发送两个请求的方法。 发送第一个请求,然后redirectURL将是响应。 然后创建响应的新URL,使用GET参数向该URL发送请求。 我没试过,但我想它可以奏效。