ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Исходник для работы с HTTP (C++)
  #1  
Старый 13.07.2009, 09:42
Аватар для s_p_a_m
s_p_a_m
Участник форума
Регистрация: 08.02.2008
Сообщений: 116
Провел на форуме:
1608432

Репутация: 158
По умолчанию Исходник для работы с HTTP (C++)

может есть у кого сабж? нужен просто пример (желательно консоль) для отправки данных на серв и получение ответа. Например логин на сайт и получение удачно\неудочно ... и в соответствии с этим выполняем действие... если у кого есть поделитесь
 
Ответить с цитированием

  #2  
Старый 13.07.2009, 11:38
Аватар для POS_troi
POS_troi
Познавший АНТИЧАТ
Регистрация: 01.12.2006
Сообщений: 1,769
Провел на форуме:
3718311

Репутация: 1118


Отправить сообщение для POS_troi с помощью ICQ
По умолчанию

http://forum.sources.ru/index.php?showtopic=166220

посмотри


и вот еще в исходниках валялось
Код:
#include <stdio.h>
#include <winsock.h>
 
// Function prototype
void StreamClient(char *szServer, short nPort, char *szMessage);
// Helper macro for displaying errors
#define PRINTERROR(s)	\
		fprintf(stderr,"\n%: %d\n", s, WSAGetLastError())
 
 
 
////////////////////////////////////////////////////////////
 
void main(int argc, char **argv)
{
	WORD wVersionRequested = MAKEWORD(2,0);
	WSADATA wsaData;
	int nRet;
	short nPort;
 
	//
	// Check for the host and port arguments
	//
	if (argc != 4)
	{
		fprintf(stderr,"\nSyntax: client ServerName PortNumber Message\n");
		return;
	}
 
	nPort = atoi(argv[2]);
 
 
	//
	// Initialize WinSock and check the version
	//
	nRet = WSAStartup(wVersionRequested, &wsaData);
 
	//
	// Go do the stuff a stream client does
	//
	StreamClient(argv[1], nPort, argv[3]);
 
 
	//
	// Release WinSock
	//
	WSACleanup();
}
 
////////////////////////////////////////////////////////////
 
void StreamClient(char *szServer, short nPort, char *szMessage)
{
	printf("\nStream Client connecting to server: %s on port: %d",
				szServer, nPort);
 
	//
	// Find the server
	//
    LPHOSTENT lpHostEntry;
 
	lpHostEntry = gethostbyname(szServer);
    if (lpHostEntry == NULL)
    {
        PRINTERROR("gethostbyname()");
        return;
    }
 
	//
	// Create a TCP/IP stream socket
	//
	SOCKET	theSocket;
 
	theSocket = socket(AF_INET,				// Address family
					   SOCK_STREAM,			// Socket type
					   IPPROTO_TCP);		// Protocol
	if (theSocket == INVALID_SOCKET)
	{
		PRINTERROR("socket()");
		return;
	}
 
	//
	// Fill in the address structure
	//
	SOCKADDR_IN saServer;
 
	saServer.sin_family = AF_INET;
	saServer.sin_addr = *((LPIN_ADDR)*lpHostEntry->h_addr_list);
										// ^ Server's address
	saServer.sin_port = htons(nPort);	// Port number from command line
 
	//
	// connect to the server
	//
	int nRet;
 
	nRet = connect(theSocket,				// Socket
				   (LPSOCKADDR)&saServer,	// Server address
				   sizeof(struct sockaddr));// Length of server address structure
	if (nRet == SOCKET_ERROR)
	{
		PRINTERROR("socket()");
		closesocket(theSocket);
		return;
	}
 
 
	//
	// Send data to the server
	//
    
    char szBuf[256];
 
	// strcpy(szBuf, "From the Client");
	nRet = send(theSocket,				// Connected socket
				szMessage,					// Data buffer
				strlen(szMessage),			// Length of data
				0);						// Flags
	if (nRet == SOCKET_ERROR)
	{
		PRINTERROR("send()");
		closesocket(theSocket);
		return;
	}
 
 
	//
	// Wait for a reply
	//
	nRet = recv(theSocket,				// Connected socket
				szBuf,					// Receive buffer
				sizeof(szBuf)+1,			// Size of receive buffer
				0);						// Flags
	if (nRet == SOCKET_ERROR)
	{
		PRINTERROR("recv()");
		closesocket(theSocket);
		return;
	}
 
 
	//
	// Display the received data
	//
	printf("\nData received: %s", szBuf);
 
 
	closesocket(theSocket);
	return;
}
 
Ответить с цитированием

  #3  
Старый 13.07.2009, 12:00
Аватар для s_p_a_m
s_p_a_m
Участник форума
Регистрация: 08.02.2008
Сообщений: 116
Провел на форуме:
1608432

Репутация: 158
По умолчанию

это я так понял TCP/IP ? я не силен в С++ если можно то конкретно сорс по отправке ПОСТ на сервер. с меня +++, заранее спасибо
 
Ответить с цитированием

  #4  
Старый 13.07.2009, 12:17
Аватар для POS_troi
POS_troi
Познавший АНТИЧАТ
Регистрация: 01.12.2006
Сообщений: 1,769
Провел на форуме:
3718311

Репутация: 1118


Отправить сообщение для POS_troi с помощью ICQ
По умолчанию

как вариант - посмотри вот это..
если не то и никто не скинет еще ченить , то когда прийду домой, скину исходник програмулины (писал для партнерки одной, там все и GET и POST)

Код:
#include <stdio.h>
#include <string.h>
#include <winsock2.h>
#include <windows.h>
#include <ctype.h>

#define PORT 80         //  Порт, через который идет подключение к серверу....21,80,25,110 и т.п.
#define SERVERADDR "77.91.229.20"     // Адрес сервера

int main ( int argc, char* argv [ ] )
{
     WSADATA wd;
     char buff[10000];
     char buff2[9000]= {
"POST /member.php HTTP/1.0\r\n"
"Host: www.haddan.ru\r\n"
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.13) Gecko/20080311 AdCentriaIM/1.7 Firefox/2.0.0.13\r\n"
"Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n"
"Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n"
"Accept-Encoding: gzip,deflate\r\n"
"Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n"
"Keep-Alive: 300\r\n"
"Connection: keep-alive\r\n"
"Referer: http://www.haddan.ru/\r\n"
"Content-Type: application/x-www-form-urlencoded\r\n"
"Content-Length: 33\r\n\r\n"
"username=USER&passwd=PASS"
     };

     printf ( "TCP Client \n" ); // ну, тут и так понятно
     if ( WSAStartup ( 0x202, &wd ) )
     {
             printf ( " WSAStart error  %d \n ", WSAGetLastError ( ) );
             return -1;
     }

     SOCKET sock ;
     sock=socket ( AF_INET, SOCK_STREAM, 0 );
     if  ( sock < 0 )
     {
         printf (" Socket ( ) error    %d \n ", WSAGetLastError ( ) );
         return  -1;
     }

     sockaddr_in  dest_addr;
     dest_addr.sin_family=AF_INET; //инет коннектинг
     dest_addr.sin_port=htons ( PORT ); //порт
     HOSTENT    *hst;  // хост
     if( inet_addr(SERVERADDR) != INADDR_NONE )     
         dest_addr.sin_addr.S_un.S_addr = inet_addr(SERVERADDR);
     else if( hst=gethostbyname ( SERVERADDR ) )    
         ( ( unsigned long   * ) &dest_addr.sin_addr )[0]=((unsigned long** )hst->h_addr_list)[0][0];
     else
     {
            printf( "invalid address  %s \n", SERVERADDR );
            closesocket( sock ) ;
            WSACleanup();
            return  -1;
     }

     if(connect( sock, (sockaddr *)&dest_addr, sizeof(dest_addr) ))
     {
            printf (" Connect error  %d \n ", WSAGetLastError ( ) );
            return -1;
     }

     //sprintf( buff2, "GET /room/func/mine.php HTTP/1.1\r\nHost: haddan.ru\r\nConnection: Close\r\n\r\n");
     send( sock, buff2, sizeof(buff2), 0);
     recv( sock, buff, sizeof(buff)-1, 0 );
     //for(int i=0; i < strlen(buff); i++)
     //    if(isalnum(buff[i]) || buff[i] == '<'|| buff[i] == '>' || buff[i] == '/')
             printf("%s",buff );
     //    else
     //        continue;
         printf("\n");
     printf ("Connection with %s succesfully. quit - quit" , SERVERADDR );
     //int nsize;
     /*while( ( nsize = recv( sock, buff, sizeof(buff)-1, 0 ) ) != SOCKET_ERROR )
     {
             buff[ nsize ] =0;
             printf ( " S=>C: %s ", buff  ) ;
             printf ( "S<=C: " ) ;
             fgets ( &buff [0], sizeof( buff )-1, stdin );
             if  ( !strcmp ( &buff[0], "quit\n" ) )
             {
                     printf ( " Exit " );
                     closesocket ( sock ) ; //выход правильный
                     WSACleanup() ;
                     return 0;
             }
             send ( sock, &buff [ 0 ], nsize, 0 ) ;
      }*/

      //printf ( " Recv error  %d \n", WSAGetLastError ( )  );
      //closesocket ( sock ) ;
      //WSACleanup ( ) ;
      return 0;
}
 
Ответить с цитированием

  #5  
Старый 13.07.2009, 12:30
Аватар для s_p_a_m
s_p_a_m
Участник форума
Регистрация: 08.02.2008
Сообщений: 116
Провел на форуме:
1608432

Репутация: 158
По умолчанию

Цитата:
Сообщение от POS_troi  
как вариант - посмотри вот это..
если не то и никто не скинет еще ченить , то когда прийду домой, скину исходник програмулины (писал для партнерки одной, там все и GET и POST)
спс, буду ждать
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Раскрутка сайта heks Статьи 15 15.02.2009 19:51
Создание сети: обжимка проводов petrovich-lamer Windows 13 02.07.2007 13:18
Программы для работы с железом. Часть I – настройка видеокарт _GaLs_ Аппаратное обеспечение 2 20.12.2006 01:18
Заключение эксперта .PurGeN. Чужие Статьи 2 02.08.2005 04:03



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ