我将开发基于REST API的web服务。这是我的第一个web服务项目。
我有一个关于网络服务的问题--iPhone app。
假设当用户使用iPhone应用程序登录时,他的应用程序将获得身份验证令牌。
使用此令牌,他/她将被授权使用app的进一步操作。我计划关于iPhone应用程序需要发送侦听器与post/get请求方法在牧羊人的身份验证密钥。
请求看起来像: www.mydomaoin.com
但是为了在服务器上授权,我需要将特殊的参数传递到请求的头部:
Headers: X-Testing-Auth-Secret: kI7wGju76kjhJHGklk76
Headers: Content-Type : application/json它将用于控制器(zend框架)
public function preDispatch()
{
$request = new Zend_Controller_Request_Http();
$key = $request->getHeader('X-Testing-Auth-Secret');
$type = $request->getHeader('Content-Type');
}我不知道有没有能发送报头的iPhone。和android的情况一样。
我是一个php开发者。
请帮帮我
发布于 2013-02-21 15:04:38
您可以使用一些委托方法。
-(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];}
发布于 2013-02-21 13:36:05
您可以使用以下代码
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];发布于 2013-03-01 17:46:35
是的,你可以从iPhone和安卓手机上发送标题
https://stackoverflow.com/questions/14995224
复制相似问题