1
我正在使用ASIFormDataRequest将图片上传到TwitPic,并且我得到了一个响应,从这里一切正常。但在- (void)requestFinished:(ASIHTTPRequest *)request
我已经有一个TwitLonger响应的动作(正常工作)。现在,我将如何根据响应类型来执行不同的操作?我尝试设置一个字符串并与if
进行比较,得到响应的最后一个东西,但没有运气。这是我试过的方式:如何根据ASIHTTPRequest执行不同的操作?
- (void)requestFinished:(ASIHTTPRequest *)request
{
NSString *responseString = [request responseString];
NSString *first = [responseString substringFromIndex: [responseString length] - 7];
NSLog(@"%@", first);
if (first == @"</rsp>"+
) {
NSString *responseString = [request responseString];
NSLog(@"%@", responseString);
NSString *result = nil;
// Determine "<div>" location
NSRange divRange = [responseString rangeOfString:@"<mediaurl>" options:NSCaseInsensitiveSearch];
if (divRange.location != NSNotFound)
{
// Determine "</div>" location according to "<div>" location
NSRange endDivRange;
endDivRange.location = divRange.length + divRange.location;
endDivRange.length = [responseString length] - endDivRange.location;
endDivRange = [responseString rangeOfString:@"</mediaurl>" options:NSCaseInsensitiveSearch range:endDivRange];
if (endDivRange.location != NSNotFound)
{
// Tags found: retrieve string between them
divRange.location += divRange.length;
divRange.length = endDivRange.location - divRange.location;
result = [responseString substringWithRange:divRange];
}
tweet.text = result;
NSLog(@"%@", result);
}
} else {
// Use when fetching text data
NSString *responseString = [request responseString];
NSLog(@"%@", responseString);
NSString *result = nil;
// Determine "<div>" location
NSRange divRange = [responseString rangeOfString:@"<content>" options:NSCaseInsensitiveSearch];
if (divRange.location != NSNotFound)
{
// Determine "</div>" location according to "<div>" location
NSRange endDivRange;
endDivRange.location = divRange.length + divRange.location;
endDivRange.length = [responseString length] - endDivRange.location;
endDivRange = [responseString rangeOfString:@"</content>" options:NSCaseInsensitiveSearch range:endDivRange];
if (endDivRange.location != NSNotFound)
{
// Tags found: retrieve string between them
divRange.location += divRange.length;
divRange.length = endDivRange.location - divRange.location;
result = [responseString substringWithRange:divRange];
}
tweet.text = result;
[_engine setAccessToken:token];
[_engine sendUpdate:tweet.text];
[self.parentViewController dismissModalViewControllerAnimated:true];
}
}
}
这是响应的一个例子:
<?xml version="1.0" encoding="UTF-8"?>
<rsp stat="ok">
<mediaid>50ia96</mediaid>
<mediaurl>URL GOES HERE</mediaurl>
</rsp>
这样结束了,我想越来越标签之间的URL的内容。
在此先感谢!
感谢您的联系!我认为第一个选项(用户信息一)似乎是正确的,但我该怎么做呢?谢谢:) – pmerino 2011-05-21 13:07:15
检查我编辑的答案 – phi 2011-05-21 13:16:21
非常感谢!它的工作:D – pmerino 2011-05-21 13:19:13