您的位置:首页 > 理论基础 > 计算机网络

ASIHTTPRequest加载web请求

2014-02-24 11:22 423 查看
ASIHTTPRequest是一个好用的http框架,可方便的获取后台数据。

在APP端内嵌uiwebview展示html内容时,也可以使用该框架,

原理是通过httprequest加载请求后,把响应包内容通过uiwebview进行加载。

具体用法:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.

self.detailWebView.scalesPageToFit = YES;
[self.view addSubview:self.detailWebView];

[self loadWebByAsiHttpRequset:url];
}

//用ASIHTTPRequest加载web
- (void)loadWebByAsiHttpRequset:(NSURL *)url
{
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setCachePolicy:NSURLRequestReturnCacheDataElseLoad];
[request setTimeOutSeconds:5];
[request setValidatesSecureCertificate:NO];
[request setDidFinishSelector:@selector(requestFinished:)];
[request setDidFailSelector:@selector(requestFailed:)];
[request setDelegate:self];
[request startAsynchronous];
}

- (void)requestFinished:(ASIHTTPRequest *)request
{
//[self.detailWebView loadHTMLString:request.responseString baseURL:nil];
[self.detailWebView loadData:request.responseData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:nil];
}

- (void)requestFailed:(ASIHTTPRequest *)request
{
NSLog(@"request fail, error is:%@", request.error);
}


注意:

[self.detailWebView loadHTMLString:request.responseString baseURL:nil]; 这样加载会导致中文乱码乱码。

可转换成loadData的方式:

[self.detailWebView loadData:request.responseData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:nil];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: