本文讨论的是使用C语言使用socket获取网页内容
首先需要添加代码
#pragma comment(lib, "ws2_32.lib")
以下是获取网页内容的函数。函数参数为网页地址,字符串类型,如“www.baidu.com”。获取到的网页内容保存在recieved.txt文件中。
void ReadPage(char* host)
{
WSADATA data;
//winsock版本2.2
int err = WSAStartup(MAKEWORD(2, 2), &data);
if (err)
return ;
//用域名获取对方主机名
struct hostent *h = gethostbyname(host);
if (h == NULL)
return ;
//IPV4
if (h->h_addrtype != AF_INET)
return ;
struct in_addr ina;
//解析IP
memmove(&ina, h->h_addr, 4);
LPSTR ipstr = inet_ntoa(ina);
//Socket封装
struct sockaddr_in si;
si.sin_family = AF_INET;
si.sin_port = htons