// 如果host不是点分十进制格式,则将其转换成点分十进制格式
BOOL CTestDlg::GetRealIP(string& host, string& retip)
{
retip = host;
unsigned long t = inet_addr((char*)(LPCSTR)host.c_str());
if (t == INADDR_NONE)
{
hostent* hostInfo = gethostbyname((char*)(LPCSTR)host.c_str());
if (hostInfo)
{
struct in_addr *addr;
addr = (struct in_addr*)hostInfo->h_addr_list[0];
if(addr!=NULL)
{
retip = inet_ntoa(*addr);
}
}
else
{
return FALSE;
}
}
return TRUE;
}
void CTestDlg::OnButton1()
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2), &wsaData);
SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);
if(INVALID_SOCKET == sock)
{
MessageBox("套接字创建失败!");
}
char url[] = "http://www.baidu.com";
DWORD dwServiceType;
CString strServer, strObject;
INTERNET_PORT nPort;
AfxParseURL(url, dwServiceType, strServer, strObject, nPort);
string host = strServer.G
socket编程实现http GET请求
最新推荐文章于 2019-07-05 01:47:22 发布
本文档演示了如何在C++中使用socket编程实现HTTP GET请求。首先通过`GetRealIP`函数将域名转换为IP地址,然后创建socket并连接到指定端口,发送GET请求,并接收并保存服务器响应到文件。
摘要由CSDN通过智能技术生成