在iOS中,如何从web服务器接收响应的http状态代码(404,500,200等)。我假设它在NSUrlConnectionDelegate里。
目的-C或Monotouch .NET应答正常。
发布于 2011-08-02 21:24:48
是的,您可以在委托方法-didRecieveResponse中获得状态代码:
- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
int code = [httpResponse statusCode];
}发布于 2011-08-02 21:24:58
NSHTTPURLResponse* urlResponse = nil;
NSError *error = nil;
responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];aSynchronous请求还应该有一种获取NSHTTPURLResponse的方法。
你会得到这样的状态代码:
int statusCode = [urlResponse statusCode];
int errorCode = error.code;对于一些常用的错误代码(如404),它将被放入错误中,但是使用不同的代码(401将为-1012)。
发布于 2011-08-02 22:17:20
下面是如何在MonoTouch中为.NET用户为C#用户做这件事。NSUrlConnectionDelegate.中的THis
public override void ReceivedResponse (NSUrlConnection connection, NSUrlResponse response)
{
if (response is NSHttpUrlResponse)
{
var r = response as NSHttpUrlResponse;
Console.WriteLine (r.StatusCode);
}
}https://stackoverflow.com/questions/6918760
复制相似问题