首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iphone post请求头

iphone post请求头
EN

Stack Overflow用户
提问于 2013-02-21 13:29:18
回答 5查看 401关注 0票数 1

我将开发基于REST API的web服务。这是我的第一个web服务项目。

我有一个关于网络服务的问题--iPhone app。

假设当用户使用iPhone应用程序登录时,他的应用程序将获得身份验证令牌。

使用此令牌,他/她将被授权使用app的进一步操作。我计划关于iPhone应用程序需要发送侦听器与post/get请求方法在牧羊人的身份验证密钥。

请求看起来像: www.mydomaoin.com

但是为了在服务器上授权,我需要将特殊的参数传递到请求的头部:

代码语言:javascript
复制
Headers: X-Testing-Auth-Secret: kI7wGju76kjhJHGklk76
Headers: Content-Type : application/json

它将用于控制器(zend框架)

代码语言:javascript
复制
public function preDispatch()  
{
    $request = new Zend_Controller_Request_Http();
    $key = $request->getHeader('X-Testing-Auth-Secret');
    $type = $request->getHeader('Content-Type');
}

我不知道有没有能发送报头的iPhone。和android的情况一样。

我是一个php开发者。

请帮帮我

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-02-21 15:04:38

您可以使用一些委托方法。

代码语言:javascript
复制
-(void) parser:(NSXMLParser *) parser
didStartElement:(NSString *) elementName``
  namespaceURI:(NSString *) namespaceURI
 qualifiedName:(NSString *) qName
   attributes:(NSDictionary *) attributeDict {

    if( [elementName isEqualToString:@"AddGeneralInformationResult"])
   {
    if (!soapResults)
    {
        soapResults = [[NSMutableString alloc] init];
    }
    elementFound = YES;
   }


    }

  -(void)parser:(NSXMLParser *) parser foundCharacters:(NSString *)string
   {
if (elementFound)
{
    [soapResults appendString: string];
}
}

-(void)parser:(NSXMLParser *)parser
 didEndElement:(NSString *)elementName
  namespaceURI:(NSString *)namespaceURI
  qualifiedName:(NSString *)qName
 {

 if ([elementName isEqualToString:@"AddGeneralInformationResult"])
 {
    elementFound = NO;
    //NSLog(@"AddGeneralInformationResult %@",soapResults);
    if([soapResults isEqualToString:@"true"])
    {


  [objDB updateDatabaseTable:@"GeneralInformation":@"Yes":
    [[arrGenralInfo          objectAtIndex:0] intValue]];
    }
    [soapResults setString:@""];
    elementFound = FALSE;
   }


  }
 -(void) connection:(NSURLConnection *) connection
 didReceiveResponse:(NSURLResponse *) response {
 [webData setLength: 0];

//NSLog(@"receive response");
  }  

 -(void) connection:(NSURLConnection *) connection
 didReceiveData:(NSData *) data {
  [webData appendData:data];
  }

    -(void) connection:(NSURLConnection *) connection
       didFailWithError:(NSError *) error {

    //NSLog(@"Server error");

    }

  -(void) connectionDidFinishLoading:(NSURLConnection *) connection {
     //NSLog(@"DONE. Received Bytes: %d", [webData length]);
      NSString *theXML = [[NSString alloc]
                    initWithBytes: [webData mutableBytes]
                    length:[webData length]
                    encoding:NSUTF8StringEncoding];
//---shows the XML---
//NSLog(@"%@",theXML);

// [activityIndicator stopAnimating];
if (xmlParser)
{

}
xmlParser = [[NSXMLParser alloc] initWithData: webData];
[xmlParser setDelegate: self];
[xmlParser setShouldResolveExternalEntities:YES];
[xmlParser parse];

}

票数 2
EN

Stack Overflow用户

发布于 2013-02-21 13:36:05

您可以使用以下代码

代码语言:javascript
复制
NSMutableURLRequest *req = [[NSMutableURLRequest alloc]initWithURL:[NSURL URLWithString:url]];
    NSString *post = @"your json";
    //NSLog(@"%@",post);
    NSData *postdata = [NSData dataWithBytes:[post UTF8String] length:[post length] ];
    [req setHTTPMethod:@"POST"];
    [req setValue:@"application/json" forHTTPHeaderField:@"content-type"];
    [req setValue:@"kI7wGju76kjhJHGklk76" forHTTPHeaderField:@"Content-Length"];
    [req setValue:[NSString stringWithFormat:@"%d",[postdata length]] forHTTPHeaderField:@"X-Testing-Auth-Secret"];
    [req setHTTPBody:postdata];

    (void)[NSURLConnection connectionWithRequest:req delegate:self];
票数 2
EN

Stack Overflow用户

发布于 2013-03-01 17:46:35

是的,你可以从iPhone和安卓手机上发送标题

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14995224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档