如何使用NSURLConnection获取PHP回音?
我能得到一些帮助吗?我绝望了。我有一个PHP脚本,它被发送参数,它做一些处理,然后使用echo输出结果。我用过如何使用NSURLConnection获取PHP回音?,php,ios,xcode,nsurlconnection,nsdata,Php,Ios,Xcode,Nsurlconnection,Nsdata,我能得到一些帮助吗?我绝望了。我有一个PHP脚本,它被发送参数,它做一些处理,然后使用echo输出结果。我用过 [[NSString alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"myPHPPathWithParameters"]] encoding:NSUTF8StringEncoding]; 在过去,为了获取信息,php以NSSTRing的形式进行响应,它是有效的,但现在不行了。它返回一个空
[[NSString alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"myPHPPathWithParameters"]] encoding:NSUTF8StringEncoding];
在过去,为了获取信息,php以NSSTRing的形式进行响应,它是有效的,但现在不行了。它返回一个空字符串。无论如何,我认为正确的方法是实现NSURLConnection,因为它实现了用于监视连接进度的委托方法等。因此,我声明了一个静态NSMutableData*receivedData,然后我使用iOS文档中的示例:
NSURLRequest *req=[NSURLRequest
requestWithURL:[NSURL URLWithString:@"http://myphp.php?parameters=paramteres"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:30.0];
NSURLConnection *con=[[NSURLConnection alloc] initWithRequest:req delegate:self];
if (con)
receivedData = [[NSMutableData data] retain];
else
NSLog(@"Request failed to load.");
然后实现委托方法(我还在self中声明NSURLConnectionDataDelegate):
但是这些方法永远不会被调用!终端从不显示任何显示委托方法已执行的日志消息。据我所知,调用此方法并将数据附加到receivedData,然后调用ConnectiondFinishLoading方法后,我必须从receivedData获取NSString。有什么建议吗?我也在NSURLConnection中尝试了同步请求类方法,但该方法得到了整个HTML,我只想得到php响应的内容,并将其解析为NSString,以便在应用程序中使用:(将
接收数据转换为字符串
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSString *myStringData = [[NSString alloc] initWithData:receivedData encoding:NSStringEncodingConversionAllowLossy];
}
然后打印字符串NSLog(@“MyString:%@”,myStringData)
,但委托方法从未被调用!因此receivedData始终为空。
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSString *myStringData = [[NSString alloc] initWithData:receivedData encoding:NSStringEncodingConversionAllowLossy];
}