c++ socket
 //获取闲聊接口的数据
//std::string CChatRecords::ChatApiDate(wchar_t* ques)
//{
//	HttpRequest httpReq("api.qingyunke.com", 80);
//
//	char url[1000];
//
//	sprintf_s(url, "/api.php?key=free&appid=0&msg=%ws" ,ques);
//
//	CString str1(url);
//	AfxMessageBox(_T("url"));
//	AfxMessageBox(str1);
//	//url = "/api.php?key=free&appid=0&msg=你好吗";
//	std::string res = httpReq.HttpGet("/api.php?key=free&appid=0&msg=你好吗");
//	return res;
//}
//
//HttpRequest::HttpRequest(const std::string& ip, int port):m_ip(ip), m_port(port)
//{
//
//}
//
//HttpRequest::~HttpRequest(void)
//{
//}
// 构建http get请求
//
//std::string HttpRequest::HttpGet(std::string req)
//{
//	std::string ret = ""; // 返回Http Response
//	try
//	{
//		 //开始进行socket初始化
//		WSADATA wsa = {0};
//		int err = WSAStartup(MAKEWORD(2, 2), &wsa);
//		if (err != 0)
//		{
//			AfxMessageBox(_T("初始化失败"));
//		}
//		else
//		{
//			AfxMessageBox(_T("初始化成功"));
//		}
//
//		SOCKET clientSocket = socket(AF_INET, 1, 0);
//		struct sockaddr_in ServerAddr = { 0 };
//		//ServerAddr.sin_addr.s_addr = InetPton(AF_INET, CString(m_ip.c_str()), &ServerAddr.sin_addr);
//		struct hostent* p_hostent = gethostbyname(m_ip.c_str());
//		//ServerAddr.sin_addr.s_addr = InetPton(AF_INET, CString(m_ip.c_str()), &ServerAddr.sin_addr);
//		memcpy(&(ServerAddr.sin_addr), p_hostent->h_addr_list[0], sizeof(ServerAddr.sin_addr));
//		//ServerAddr.sin_addr.s_addr = InetPton(AF_INET, , &ServerAddr.sin_addr);
//		ServerAddr.sin_port = htons(m_port);
//		ServerAddr.sin_family = AF_INET;
//		int errNo = connect(clientSocket, (sockaddr*)&ServerAddr, sizeof(ServerAddr));
//		if (errNo == 0)
//		{
//			std::string strSend = " HTTP/1.1\r\n"
//				"Host: api.qingyunke.com\r\n"
//				"Connection: close\r\n\r\n";
//			strSend = "GET " + req + strSend;
//			// 发送
//			errNo = send(clientSocket, strSend.c_str(), strSend.length(), 0);
//			if (errNo > 0)
//			{
//				//cout << "发送成功" << endl;
//				AfxMessageBox(_T("发送成功"));
//			}
//			else
//			{
//				std::cout << "errNo:" << errNo << std::endl;
//				return ret;
//			}
//
//			// 接收
//			char bufRecv[1024] = { 0 };
//			//errNo = recv(clientSocket, bufRecv, 3069, 0);
//		
//				//ret = bufRecv;// 如果接收成功,则返回接收的数据内容  
//			memset(&bufRecv, 0, sizeof(bufRecv));
//			string content;
//			while (int recvlength = recv(clientSocket, bufRecv, sizeof(bufRecv), 0))
//			{
//				if (recvlength < 0)
//				{
//					break;
//				}
//				else {
//					content += bufRecv;
//					memset(&bufRecv, '\0', sizeof(bufRecv));
//				}
//
//			
//			int npos = content.find("\r\n\r\n");
//			if (npos != -1)
//			{
//				ret = content.substr(npos+1);
//				return ret;
//			}
//
//			return ret;
//			}
//		}
//		else
//		{
//			errNo = WSAGetLastError();
//			AfxMessageBox(errNo);
//			std::cout << "errNo:" << errNo << std::endl;
//		}
//		// socket环境清理
//		::WSACleanup();
//	}
//	catch (...)
//	{
//		return "";
//	}
//	return ret;
//}

                
            
浙公网安备 33010602011771号