Socket 加载百度
- (NSString *)sendAndRecv:(NSString *)msg {
ssize_t sendLen = send(self.clientSocket, msg.UTF8String, strlen(msg.UTF8String), 0);
NSLog(@"发送 %ld %tu %ld", sendLen, msg.length, strlen(msg.UTF8String));
uint8_t buffer[1024];
NSMutableData *dataM = [NSMutableData data];
ssize_t recvLen = -1;
while (recvLen != 0) {
recvLen = recv(self.clientSocket, buffer, sizeof(buffer), 0);
[dataM appendBytes:buffer length:recvLen];
}
NSString *result = [[NSString alloc] initWithData:dataM encoding:NSUTF8StringEncoding];
[self disconnect];
return result;
}
- (void)viewDidLoad {
[super viewDidLoad];
if (![self connectToHost:@"61.135.185.17" port:80]) {
NSLog(@"连接失败");
return;
}
NSString *request = @"GET / HTTP/1.1\r\n"
"Host: m.baidu.com\r\n"
"User-Agent: iPhone AppleWebKit\r\n"
"Connection: Close\r\n\r\n";
NSString *resposne = [self sendAndRecv:request];
NSRange range = [resposne rangeOfString:@"\r\n\r\n"];
if (range.location != NSNotFound) {
NSString *html = [resposne substringFromIndex:range.location + range.length];
[self.webView loadHTMLString:html baseURL:[NSURL URLWithString:@"http://m.baidu.com"]];
} else {
NSLog(@"加载失败");
}
}