我正在尝试使用https://github.com/robbiehanson/CocoaHTTPServer处的“CocoaHTTPServer”。我已将它添加到我的项目中,现在,如果我在浏览器上输入类似这样的内容:192.168.3.114:45000我收到一个名为index的html页面,其中包含一条简单的欢迎消息(此页面存储在默认项目中)。还行吧。它工作正常。我现在需要理解的是,我怎样才能在浏览器上输入类似“192.168.3.114:52000/getElement”的简单GET请求,并在浏览器上接收一个简单的字符串。你能帮我一下吗?我不知道我可以在哪里配置或检查这个,因为有一些类。我正在尝试研究HTTPConnection类,但我很困惑,因为我是Objective-c编程的新手。 感谢
答案 0 :(得分:4)
您必须使用自定义HTTPConnection
子类
@interface MyHTTPConnection : HTTPConnection
...
@end
然后你可以进行自定义URL处理
@implementation MyHTTPConnection
- (NSObject<HTTPResponse> *)httpResponseForMethod:(NSString *)method URI:(NSString *)path
{
HTTPLogTrace();
if ([path isEqualToString:@"/getElement"])
{
NSData *data = ...
HTTPDataResponse *response = [[HTTPDataResponse alloc] initWithData:data];
return response;
}
// default behavior for all other paths
return [super httpResponseForMethod:method URI:path];
}
@end
和设置HTTPServer connectionClass
,以便您的服务器知道您想自己处理连接
[httpServer setConnectionClass:[MyHTTPConnection class]];
答案 1 :(得分:-1)
您可以执行NSURL请求,然后将服务器响应作为NSString获取:
NSString *URL = @"http://yoururlhere.com?var1=";
URL = [URL stringByAppendingString: yourvarstring];
NSData *dataURL = [NSData dataWithContentsOfURL: [ NSURL URLWithString: URL]];
NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding];
//Check if the server has any output
if([serverOutput length] == 0)
{
//Do something
} else {
//Do Something else
}