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

POST пакет "С"
  #1  
Старый 12.01.2007, 14:06
Аватар для demonoid
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме:
4094601

Репутация: 495
По умолчанию POST пакет "С"

Задача такая :
Надо отправить POST запрос на "С"
запрос такого типа:

Код:
POST /file.html HTTP/1.0
Accept: */*
Referer: http://www.site.ru/file.html?lang=ua
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
User-Agent: Internet Explorer 6.0
Host: www.site.ru
Content-Length: 83
Pragma: no-cache
Cookie: countfile=1; 
Connection: Keep-Alive

submitted=true&lang=ua&code=1124&message=Lolof
не могу найти мануал ,мож хто подкинет или примерчик ?
 
Ответить с цитированием

  #2  
Старый 12.01.2007, 14:16
Аватар для nerezus
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


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

Ищи мануал по сокетам.
 
Ответить с цитированием

  #3  
Старый 12.01.2007, 14:43
Аватар для Go0o$E
Go0o$E
Members of Antichat - Level 5
Регистрация: 27.01.2006
Сообщений: 258
Провел на форуме:
6127131

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

Поидее так.
Цитата:
char post[]="POST /file.html HTTP/1.0\r
Referer: http://www.site.ru/file.html?lang=ua\r
Accept-Language: ru\r
Content-Type: application/x-www-form-urlencoded\r
User-Agent: Internet Explorer 6.0\r
Host: www.site.ru\r
Content-Length: 83\r
Cookie: countfile=1;\r
Connection: Keep-Alive\r
\r
submitted=true&lang=ua&code=1124&message=Lolof";

send (socket, post, sizeof(post), 0);
__________________

Завтра будет.Лучше.
 
Ответить с цитированием

  #4  
Старый 12.01.2007, 18:38
Аватар для demonoid
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме:
4094601

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

Цитата:
Сообщение от nerezus  
Ищи мануал по сокетам.
msdn.com облазил не смог найти
 
Ответить с цитированием

  #5  
Старый 12.01.2007, 18:55
Аватар для demonoid
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме:
4094601

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

Цитата:
Сообщение от Go0o$E  
Поидее так.
Можно попобродней структуру?
копилятор под win
 
Ответить с цитированием

  #6  
Старый 12.01.2007, 19:27
Аватар для nc.STRIEM
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


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

вот: http://forum.antichat.ru/thread27529.html
 
Ответить с цитированием

  #7  
Старый 12.01.2007, 19:33
Аватар для Go0o$E
Go0o$E
Members of Antichat - Level 5
Регистрация: 27.01.2006
Сообщений: 258
Провел на форуме:
6127131

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

Вот этот должен работать
Проверен на работоспособность, компилил под lcc.
Цитата:
#include <winsock2.h>
#include <windows.h>
#pragma comment(lib, "ws2_32.lib")
SOCKET Connect(char *Host, short port){

WSADATA wsaData;
SOCKET Winsock;
struct sockaddr_in Winsock_In;
struct hostent *Ip;

WSAStartup(MAKEWORD(2, 2), &wsaData);
Winsock=WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, (unsigned int)NULL, (unsigned int)NULL);
if(Winsock == INVALID_SOCKET){
WSACleanup();
return -1;
}
Ip = gethostbyname(Host);
Winsock_In.sin_port = htons(port);
Winsock_In.sin_family = AF_INET;
Winsock_In.sin_addr.s_addr = inet_addr(inet_ntoa(*((struct in_addr *)Ip->h_addr)));
if(WSAConnect(Winsock, (SOCKADDR*)&Winsock_In, sizeof(Winsock_In), NULL, NULL, NULL, NULL) == SOCKET_ERROR){
WSACleanup();
return -1;
}
return Winsock;
}
int main(void){
char packet[1024];
char param[128];
SOCKET socket;
wsprintf(param, "submitted=true&lang=ua&code=1124&message=Lolo f");
wsprintf(packet, "POST /file.html HTTP/1.0\r\nAccept: */*\r\nReferer:

http://www.site.ru/file.html?lang=ua\r\nAccept-Language: ru\r\nContent-Type:

application/x-www-form-urlencoded\r\nUser-Agent: Internet Explorer 6.0\r\nHost: www.site.ru\r\nContent-Length:

83\r\nPragma: no-cache\r\nCookie: countfile=1\r\nConnection: Keep-Alive\r\n\r\n", (int)strlen(param), param);
socket = Connect("site.ru", 80);
if(socket == -1){
return 0;
}
send(socket, packet, (int)strlen(packet), 0);
return 0;
__________________

Завтра будет.Лучше.

Последний раз редактировалось Go0o$E; 12.01.2007 в 20:33..
 
Ответить с цитированием

  #8  
Старый 12.01.2007, 19:42
Аватар для dexus
dexus
Новичок
Регистрация: 06.01.2007
Сообщений: 6
Провел на форуме:
34846

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

Код:
#define SENDBUF_LEN 512

void ComposeRequest(char* dest)
{
  ZeroMemory(dest, SENDBUF_LEN);
  lstrcpy(dest, "POST /file.html HTTP/1.0\r\n);
  lstrcat(dest, "Referer: http://www.site.ru/file.html?lang=ua\r\n");
  lstrcat(dest, "Accept-Language: ru\r\n");
  lstrcat(dest, "Content-Type: application/x-www-form-urlencoded\r\n");
  lstrcat(dest, "User-Agent: Internet Explorer 6.0\r\n");
  lstrcat(dest, "Host: www.site.ru\r\n)";
  lstrcat(dest, "Content-Length: 83\r\n");
  lstrcat(dest, "Cookie: countfile=1;\r\n");
  lstrcat(dest, "Connection: Keep-Alive\r\n\r\n");
  lstrcat(dest, "submitted=true&lang=ua&code=1124&message=Lolof\r\n");
}

main ()
{
  WSADATA theWSAData;
  if (WSAStartup(WINSOCK_VERSION, &theWSAData) != 0)
  {
     printf("WSAStartup(): Initialization error\n");
     return;
  }
  else
  {
    SOCKADDR_IN SCKT_ADDR;
    SCKT_addr.sin_family = AF_INET;
    SCKT_addr.sin_addr.s_addr = inet_addr("бла бла");
    SCKT_addr.sin_port = htons(80);
//     
    SOCKET s = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
    if (s != INVALID_SOCKET)
    {
       int s_rslt = connect(sn.s, (PSOCKADDR)&SCKT_ADDR, sizeof(SCKT_ADDR));
      if (s_rslt != SOCKET_ERROR) 
      {
          char sendbuf[SENDBUF_LEN];
          ComposeRequest(sendbuf);
          send(s, (char*)sendbuf, lstrlen(sendbuf), 0);
      }
    }
  }
  WSACleanup();
}
тип того
много lstrcat'ов - просто для наглядности

Последний раз редактировалось dexus; 12.01.2007 в 19:46..
 
Ответить с цитированием

  #9  
Старый 12.01.2007, 20:00
Аватар для demonoid
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме:
4094601

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

Цитата:
Сообщение от dexus  
Код:
.................................
#define SENDBUF_LEN 512
....................................
тип того
много lstrcat'ов - просто для наглядности
извините конечно но ошибок вы столько специально заделали чтобы помучался ?
 
Ответить с цитированием

  #10  
Старый 12.01.2007, 20:40
Аватар для dexus
dexus
Новичок
Регистрация: 06.01.2007
Сообщений: 6
Провел на форуме:
34846

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

пардон, переделывал из кода, где запрос вычисляется

очепятка:
lstrcpy(dest, "POST /file.html HTTP/1.0\r\n"); // кавычки

+ в коде не достает инклюда и дефайна. вот они

#define WINSOCK_VERSION 0x0002
#include <winsock2.h>

+ SCKT_addr.sin_addr.s_addr = inet_addr("бла бла"); // адрес сервера, к которому коннектимся, его надо подставить вместо бла-бла )))

под борланд С++ билдером все работает

Последний раз редактировалось dexus; 12.01.2007 в 20:46..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Энциклопедия уязвимых скриптов DIAgen Сценарии/CMF/СMS 401 17.06.2010 17:39
Post запрос... RedBull@12 С/С++, C#, Delphi, .NET, Asm 4 06.12.2006 17:26
Firewall: принцип работы D=P=CH= MOD= Защита ОС: вирусы, антивирусы, файрволы. 0 02.10.2006 22:36
Пакет обновлений для Mac OS X Zek Мировые новости 0 04.08.2006 22:08
Проникновение через фаервол используя поддельные Ftp-команды rent0n Чужие Статьи 1 02.04.2006 11:47



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


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




ANTICHAT.XYZ