Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / post из консоли / 2 сообщений из 2, страница 1 из 1
12.08.2006, 16:29
    #33914654
kirsanvi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
post из консоли
Здравствуйте, нужно сделать запрос (точнее метод post) на сайте например www.mysait.ru\test.php как это можно осуществить стандартными средствами с++, в консольном приложении,
Applies to

TNMHTTP component

Declaration

procedure Post(URL, PostData: string); virtual;

такое насколько я понимаю не пройдет,
к тому же программу нужно будет еще компилировать под VC
...
Рейтинг: 0 / 0
13.08.2006, 15:00
    #33914971
kirsanvi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
post из консоли
вот текст программы но почему то не хочет работать в чем причина?

#include <winsock2.h>
#include <windows.h>

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;
SOCKET socket;

packet= "POST http://site.ru/post/post.php HTTP/1.0\r\nAccept: */*\r\nReferer: http://site.ru/post/post.html\r\nAccept-Language: ru\r\nContent-Type: application/x-www-form-urlencoded\r\nProxy-Connection: Keep-Alive\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.5 (build 01399); .NET CLR 1.1.4322)\r\nHost: site.ru\r\nContent-Length: 17\r\nPragma: no-cache\r\nCookie: lang=russia\r\n\r\ndata=text_Zaprosa_prog";

socket = Connect("site.ru", 80);
if(socket == -1){
return 0;
}
send(socket, packet, (int)strlen(packet), 0);
return 0;
}
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / post из консоли / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]