- 论坛徽章:
- 0
|
主要的send和recv代码如下:
.....
.....
sprintf(request, "GET /%s HTTP/1.1\r\nAccept: */*\r\nAccept-Language: zh-cn\r\n\
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)\r\n\
Host: %s:%d\r\nConnection: Close\r\n\r\n", host_file, host_addr, portnumber);/*准备request,将要发送给主机*/
send = 0;
totalsend = 0;
nbytes = strlen(request);
while (totalsend < nbytes)
{
send = SSL_write(ssl, request + totalsend, nbytes - totalsend);
if (send == -1)
{
ERR_print_errors_fp(stderr);
exit(0);
}
totalsend += send;
printf("%d bytes send OK!\n", totalsend);
}
/* 连接成功了,接收http响应,response */
if ((iLength=SSL_read(ssl, buffer, MAX_DATA_SIZE)) > 0)
{
buffer[iLength]='\0';
printf("recv :\n%s",buffer);
}
程序一切正常,但就是通过ssl_read所接收到的打印数据没有页面信息,如同发送HEAD请求一样收到的仅仅是请求页面的首部,
在做http时,通过发送GET请求,用recv()函数就可以将页面信息全部获取
不知问题出在哪啦,望达人解答~~
[ 本帖最后由 ast_224 于 2008-10-15 17:05 编辑 ] |
|