客户端-读取整个html字符串Asyncsocket



嗨,我想从服务器读取整个html,而不仅仅是请求" http/1.1 200 ok "我指的是html代码。但我不知道怎么做。我使用Asyncsocket库从"https://github.com/roustem/AsyncSocket"有人能告诉我该怎么处理吗?我使用了函数

- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag

但是数据太短,只显示HTTP请求。

谢谢

我猜您正在使用CRLF作为分隔符调用readDataToData:timeout:tag:。这将返回一行数据。你想要的是读取足够的报头来告诉响应数据应该是多长时间,然后调用readDataToLength:timeout:tag:,或者等待连接关闭并调用unreadData以获得服务器在关闭连接时发送的所有内容。

HTTP规范描述了如何确定消息的长度:https://www.rfc-editor.org/rfc/rfc2616#section-4.4

一个更好的答案可能是使用NSURLConnection来发出请求并为您解释响应。

相关内容

  • 没有找到相关文章

最新更新