Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
发送参数值并检索xml文件Xcode_Xcode_Parameters_Nsmutableurlrequest_Nshttpurlresponse - Fatal编程技术网

发送参数值并检索xml文件Xcode

发送参数值并检索xml文件Xcode,xcode,parameters,nsmutableurlrequest,nshttpurlresponse,Xcode,Parameters,Nsmutableurlrequest,Nshttpurlresponse,在我当前的xcode项目中,我需要将参数值发送到url,并需要根据发送的参数值检索xml文件 我尝试了以下代码,但不起作用: (IBAction)myButtonClick:(id)sender { NSURL *oRequestURL = [NSURL URLWithString:@"http://xyz .com/air/1.0/search?from=MAA&to=CJB&depart-date=2012-06-30&adults=2&

在我当前的
xcode
项目中,我需要将参数值发送到url,并需要根据发送的参数值检索
xml
文件

我尝试了以下代码,但不起作用:

(IBAction)myButtonClick:(id)sender 
{

    NSURL *oRequestURL = 
        [NSURL URLWithString:@"http://xyz .com/air/1.0/search?from=MAA&to=CJB&depart-date=2012-06-30&adults=2&children=2&infants=1&way=one&cabin-type=Economy&sort=asc"];

    NSMutableURLRequest *oRequest = [[[NSMutableURLRequest alloc]init]autorelease];

    [oRequest setHTTPMethod:@"POST"];
    [oRequest setURL: oRequestURL];

    NSMutableData *oHttpBody = [NSMutableData data];
    [oHttpBody appendData:[@"This is HTTP Request body" dataUsingEncoding:NSUTF8StringEncoding]];

    [oRequest setValue:[oHttpBody length] forHTTPHeaderField:@"Content-Length"];

    NSError *oError = [[NSError alloc]init];
    NSHTTPURLResponse *oResponseCode = nil;
    NSData *oResponseData = [NSURLConnection sendSynchronousRequest:oRequest returningResponse:oResponseCode error:oError];

    if ([oResponseCode statusCode]> 200) {
        NSLog(@"Status code is greater than 200");        
    }

    NSString *strResult=[[NSString alloc]initWithData:oResponseData encoding:NSUTF8StringEncoding];
    NSLog(@"The result is %s",strResult);

}
我搜索了很多网站和书籍,但没有找到解决方案。 如果能提供到教程或其他有用资源的链接,将非常有帮助。感谢你的大力帮助

多谢各位

嗨, 我找到了解决办法。代码如下。希望它能帮助其他人:)


我不确定,你在找这样的东西吗?嗨,维韦克,谢谢你的链接。我需要将参数传递到url,比如HttpGet request=new HttpGet(“);然后响应将是XML格式。我的请求是如何在Xcode中实现这一点。教程将非常有用。谢谢“但它不起作用”“甚至没有足够的信息来帮助您。不用说,但是,什么不起作用?另外,如果您想要与
HttpGet
等效的方法,那么为什么要将HTTP方法设置为在代码中发布?另外,您并没有试图在Xcode中执行此操作(Xcode是IDE而不是语言),您正在尝试在objective-c中执行此操作,这可能有助于您的搜索。嗨,NJones,感谢您指示我将遵循此操作。我也找到了路。我已经用工作代码编辑了上面的内容。希望它能帮助其他人:)谢谢你的支持。
- (IBAction)myButtonPressed:(id)sender 
{

    NSString *urlAsString = @"http://api.abc.com/air/1.0/search?from=MAA&to=CJB&depart-date=2012-09-30&adults=2&children=2&infants=1&way=one&cabin-type=Economy&sort=asc";


    NSURL *url = [NSURL URLWithString:urlAsString];


    NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];


    [urlRequest setValue:@"2193141de2g7e2a34bb19bc3aa52b3b5" forHTTPHeaderField:@"X-XX-API-KEY"];

    [urlRequest setTimeoutInterval:30.0f];
    [urlRequest setHTTPMethod:@"GET"];


    NSOperationQueue *queue  = [[NSOperationQueue alloc]init];

    [NSURLConnection 
     sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) 
    {
         if ([data length]>0 &&
             error == nil)
         {
             NSString *html = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
             NSLog(@"HTML = %@", html);
         }

         else if ([data length]== 0 && error==nil) {
             NSLog(@"Nothing was downloaded");
         }
     else if (error!= nil) {
         NSLog(@"Error occured = %@", error);
     }


     }];
}