Показать сообщение отдельно
  #1  
Старый 17.01.2013, 22:09
GrabbeR GrabbeR вне форума
Новичок
 
Регистрация: 15.03.2012
Сообщения: 53
Версия Delphi: 7
Репутация: 10
По умолчанию POST запрос через сокеты

Мужики, не могу понять че не рулит. Пару лет назад написал этот код, работал на ура. Сейчас заново залогинился, затем просек запрос через Чарли. Данные запроса изменил вместе с куками, компилируется но результат отправки нулевой.
Visual Studio 2010

Код:
#include <stdafx.h>
#include <iostream>
#include <winsock2.h>
#define request "POST /rate HTTP/1.1\r\nUser-Agent: Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12\r\nHost: connect.ua\r\nAccept-Language: ru-RU,ru;q=0.9,en;q=0.8\r\nAccept-Encoding: gzip, deflate\r\nReferer: http://connect.ua/\r\nCookie: __gads=ID=12c4600e972d2dbc:T=1317417221:S=ALNI_Mbk3mjIAgEVbwderkj6M7gQtjwgWQ; land-visit=1; muser=0; PHPSESSID=qp63737fnbkq6tnjdrqokmnob7; pauth=dGhpZXJyeV4oZW5yuUBiaWdtaXIubmV0OjliZmE2ZmQxY2QxZWUwNWI5YjViYmE3MzFiZGI4YTM1; dailybonus-show=1; ppp=1; mrc=app_id%3D667842%26is_app_user%3D0%26sig%3Da96aac52175d88318972646cf33a2fc8; b=b; __utma=67991043.1641559524.1350797843.1353517191.1358110326.18; __utmb=67991043.283.9.1358111779666; __utmc=67991043; __utmz=67991043.1353444642.15.3.utmcsr=vk.com|utmccn=(referral)|utmcmd=referral|utmcct=/apps; __utmv=67991043.|2=partner=none=1^3=gender=m=1^4=usage-time=older=1^5=age=18...24=1^7=old_user=old_user=1\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nX-Requested-With: XMLHttpRequest\r\nContent-Length: 24\r\n\Content-Type: application/x-www-form-urlencoded\r\n\r\rate=100&user_id=4097802\r\n\r\n"
#pragma comment (lib,"Ws2_32.lib")
bool Alone()
{
HANDLE hMutex = CreateMutex(0,TRUE,(LPCWSTR)"UniqueMutex!");
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
CloseHandle(hMutex);
return false;
}return true;
}
int _tmain(int argc, _TCHAR* argv[])
{	using namespace std;
	if(!Alone())
	return 0;
	HANDLE hConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsoleHandle, 14);
	cout<<"CMark Premium\nBy GrabbeR\n"; 
	HANDLE hhhConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsoleHandle, 11);
	cout<<"Link\n";
	HANDLE hhConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsoleHandle, 10);
	Sleep(3000);
	WSADATA w;
	int J=0;
	do{
		J++;
	cout<<J<<" mark has been sent"<<endl;
	if(FAILED(WSAStartup(0x0202,&w)))
	{
		int error=WSAGetLastError();
		cout<<"Ошибка в 1 участке кода";
		cin.get();
	}
	SOCKET s;
	if(INVALID_SOCKET==(s=socket(AF_INET,SOCK_STREAM,0)))
    {
		int error=WSAGetLastError();cout<<"1";
    }
	hostent *hn;
	 if (NULL==(hn=gethostbyname("connect.ua")))
   {
		cout<<"2";
		cin.get();
   }
	sockaddr_in addr;
	addr.sin_family=AF_INET;
	addr.sin_addr.S_un.S_addr=*(DWORD*)hn->h_addr_list[0];
	addr.sin_port=htons(80);
	if(SOCKET_ERROR==(connect(s,(sockaddr*)&addr,sizeof(addr))))
	{
		int error=WSAGetLastError();
		cout<<"3";
		cin.get();
	}
	if(SOCKET_ERROR==send(s,request,sizeof(request),0))
    {
     int error=WSAGetLastError();
	 cout<<"4";
	 cin.get();
    };
	Sleep(64);
	closesocket(s);
	}
		while(true);
	return 0;
}
Ответить с цитированием