NSURL传递一个参数

时间:2013-02-18 05:04:15

标签: iphone xcode

NSString *myString = @"1994";
    NSString *post =[[NSString alloc] initWithFormat:@"data=%@",myString];

    NSURL *url=[NSURL URLWithString:@"http://nyxmyx.com/Kinkey/KinkeyPHP/lastid2.php/?data=%@",myString];
    NSLog(@"URL%@",url);

    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
    NSLog(@"postDATA%@",postData);
    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
    NSLog(@"postLENGTH%@",postLength);
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

    [request setURL:url];
    [request setHTTPMethod:@"POST"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setHTTPBody:postData];

    NSError *error1 = [[NSError alloc] init];
    NSHTTPURLResponse *response = nil;
    NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error1];
    NSString *string;
    if ([response statusCode] >=200 && [response statusCode] <300)
        {
        string = [[NSString alloc] initWithData:urlData encoding:NSMacOSRomanStringEncoding];
        UIAlertView *alert1=[[UIAlertView alloc]initWithTitle:@"alert1" message:string delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
        [alert1 show];
        }

我是客观的新手。当我向NSURL发送一个参数时,它会给出错误,因为“太多的参数需要1有2”我如何用一个参数更改我的URL?

2 个答案:

答案 0 :(得分:2)

替换

NSURL *url=[NSURL URLWithString:@"http://nyxmyx.com/Kinkey/KinkeyPHP/lastid2.php/?data=%@",myString];

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://nyxmyx.com/Kinkey/KinkeyPHP/lastid2.php/?data=%@",myString]];

答案 1 :(得分:1)

我已经纠正了一些问题并测试了你的代码,现在应该没问题了:

NSString *myString = @"1994";
NSString *post =[[NSString alloc] initWithFormat:@"data=%@",myString];

NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:@"http://nyxmyx.com/Kinkey/KinkeyPHP/lastid2.php/?data=%@",myString]];
NSLog(@"URL%@",url);

NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSLog(@"postDATA%@",postData);
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSLog(@"postLENGTH%@",postLength);
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:postData];

NSError *error1 = [[NSError alloc] init];
NSHTTPURLResponse *response = nil;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error1];
NSString *string;
if ([response statusCode] >=200 && [response statusCode] <300)
    {
    string = [[NSString alloc] initWithData:urlData encoding:NSMacOSRomanStringEncoding];
    UIAlertView *alert1=[[UIAlertView alloc]initWithTitle:@"alert1" message:string delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
    [alert1 show];
    }

来自上述电话的回复:

1995,prabu,1231231233,antab,8080808080,1360738531881.jpg,没有
1996,prabu,1231231233,antab,8080808080,1361013972284.jpg,没有
1997,prabu,1231231233,antab,八〇八〇八〇八〇八〇 ,1360844505212.jpg,没有
1998年,乔希,0417697070,空,+ 61420224346,1361160944442.jpg,没有
1999年,乔希,0417697070,空,+ 61420224346,1356047464383.jpg,没有
2000,josh,0417697070,null,+ 61420224346,1361160816141.jpg,No
2001,wooza,0420224346,J Wratt,+ 61417697070,2013-55-1803-55-54.jpg,No
2002 ,wooza,0420224346,J Wratt,+ 61417697070,2013-56-1803-56-17.jpg,No
2003,testing,9894698946,ggh hjj,9894598945,2013-11-1811-11-40.jpg ,是的