运行环境:VS2013 功能:模拟浏览器访问百度
具体代码如下
#include <iostream>
#include <WinSock2.h>
#include <WS2tcpip.h>
#include <sstream>
#pragma comment(lib,"ws2_32.lib")
int main()
{
//初始化配置
WORD word = MAKEWORD(2, 2);
WSADATA ws;
if (WSAStartup(word, &ws) != 0)
{
return -1;
}
SOCKET sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd == INVALID_SOCKET)
{
perror("socket:");
return -1;
}
sockaddr_in clientAddr;
clientAddr.sin_family = AF_INET;
clientAddr.sin_port = htons(80);
inet_pton(AF_INET, "14.215.177.39", &clientAddr.sin_addr);
//封装GET请求头
std::stringstream str;
str << "GET / HTTP/1.1\r\n";
str << "Host: 14.215.177.39:80\r\n";
str << "Connection: close\r\n\r\n";
if (-1 == connect(sockfd, (sockaddr*)&clientAddr, sizeof(clientAddr)))
{
perror("connect:");
return -1;
}
std::cout << "connect successful..." << std::endl;
//发送请求
send(sockfd,str.str().c_str(),sizeof(str),0);
//接收信息
char recvbuf[1024] = { 0 };
recv(sockfd, recvbuf, sizeof(recvbuf), 0);
std::cout << recvbuf << std::endl;
return 0;
}
输出