Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: AlMag (01.10.2008 в 10:56)
// ws2.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "winsock2.h" #include "windows.h" #define request "GET /b.php HTTP/1.0\r\nHost: www.anotherd.com\r\n\r\n" // HTML запрос #define MAX_PACKET_SIZE 4096 #define SERVER "127.0.0.1" int main(int argc, char* argv[]) { WSADATA ws; SOCKET s; sockaddr_in adr; hostent* hn; char buff [MAX_PACKET_SIZE]; // Init if (WSAStartup (0x202, &ws) != 0) { // Error return -1; } // Создаем сокет if (INVALID_SOCKET == (s = socket (AF_INET, SOCK_STREAM, 0/*IPPROTO_TCP*/) ) ) { // Error return -1; } // Получаем адрес DWORD a=inet_addr(SERVER); if (inet_addr(SERVER)!=INADDR_NONE) adr.sin_addr.S_un.S_addr = inet_addr(SERVER); else if (hn=gethostbyname(SERVER)) ((unsigned long *)&adr.sin_addr)[0]=((unsigned long **)hn->h_addr_list)[0][0]; else { printf("Invalid adress %s\n", SERVER); closesocket(s); WSACleanup(); return -1; } adr.sin_family = AF_INET; //adr.sin_addr.S_un.S_addr = *(DWORD* ) hn->h_addr_list[0]; int port = 80; adr.sin_port = htons (port); if (SOCKET_ERROR == connect (s, (sockaddr* )&adr, sizeof (adr) )) { // Error return -1; } if (SOCKET_ERROR == send (s, &request, sizeof (request), 0) ) { // Error return -1; } int len = recv (s, (char *) &buff, MAX_PACKET_SIZE, 0); if ( (len == SOCKET_ERROR) || (len == 0) ) { // Error return -1; } for (int i = 0; i<len; i++) printf ("%c", buff [i]); if (SOCKET_ERROR == closesocket (s) ) { // Error return -1; } getchar(); return 1; }
Ваше имя:
Пароль:
Цитировать Используйте тэги для выделения текста: Код: [code][/code] Жирный: [b][/b] Наклонный: [i][/i] URL: [url][/url]
Сообщение:
Прикрепить: