NSURLSession POST请求返回HTML网页代码



我试图提交用户输入到一个网页,然后检索返回的数据。这个网页取一个人的名字,并从数据库中返回他/她的信息。当用户单击按钮时,我试图发出POST请求,然后将用户的输入发送到该网页。但是当我打印返回的数据时,它只是那个网页的html源代码,只是没有javaScript。如何更改/添加以下功能以获取该人员的信息页面?我花了很多时间,但还是没弄明白。请帮帮我!谢谢你!

-(void) sendHTTPPost{
NSString* input = nameTextField.text;
//1
NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://find.pitt.edu"]];
[req setHTTPMethod:@"POST"];
//2
NSData* postData = [input dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
//3
NSString *postLength = [NSString stringWithFormat:@"%lu",(unsigned long)[postData length]];
[req setValue:postLength forHTTPHeaderField:@"Content-Length"];
[req setValue:@"text/html" forHTTPHeaderField:@"Content-type"];
[req setHTTPBody:postData];
//4
NSURLSession *session = [NSURLSession sharedSession];
//5
NSURLSessionDataTask *task = [session dataTaskWithRequest:req
                                        completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                            // Do something with response data here - convert to JSON, check if error exists, etc....
                                            if(error != nil){
                                                NSLog(@"error:  %@", error);
                                            }
                                            else{
                                                NSString* str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
                                                NSLog(@"%@", str);
                                                NSLog(@"response = %@", response);
                                            }
                                        }];
[task resume];
}

POST主体不太可能只包含值。很有可能,它应该包含

键= value& key2 = value2& key3 = value3…

,其中key是输入的名称,value是该输入的值,采用url编码格式。(有关如何对值进行URL编码的详细信息,请参阅URL会话编程指南中的"编码URL数据"。)

最新更新