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

работа с куками (C++)
  #1  
Старый 08.07.2007, 19:21
Satell
Познающий
Регистрация: 13.01.2007
Сообщений: 78
Провел на форуме:
65872

Репутация: 10
По умолчанию работа с куками (C++)

1. Как сделать, чтобы код на vc++ ниже, скачивающий страницу, добавлял в заголовок запроса такую куку из джава скрипта? т.е. чтобы сервер опряделял, что у меня есть поддержка кук и читал эту куку...
и ещё есть ли в с++ библиотека на подобии как в perl LWP::UserAgentLWP cookie_jar, чтобы когда я запрашиваю страницу у меня определялось, что куки включены и также сохранялись там куки с запрашиваемой страницы.
Если это нельзя сделать с помощью WinInet, то буду благодарен за код на сокетах
2. как сделать чтобы тянуть не всю страницу, а только http заголовок?

<script language="javascript" type="text/javascript">
<!--
document.cookie='roton=MnwwfDExODM4ODExMDR8MTE4Mzg 4MTEwNHwwO2Jvb2ttYXJrfG5vcmVmX2lu; expires=Mon, 09 Jul 2007 07:51:44 GMT; path=/;';
document.cookie='fav=1183881104; expires=Mon, 07 Jul 2008 07:51:44 GMT; path=/;';
//-->
</script>

Код:
#include "stdafx.h"

#include <windows.h>
#include <wininet.h>
#pragma comment(lib,"wininet")

#include <stdlib.h>
#include <fstream.h>

int main(int argc, char* argv[])
{
	bool ok = false;

	
	HINTERNET hInternet =
		::InternetOpen(
			TEXT("WinInet Test"),
			INTERNET_OPEN_TYPE_PRECONFIG,
			NULL,NULL,			
			0);

	if (hInternet != NULL) {
		HINTERNET hConnect = 
			::InternetConnect(
				hInternet,
				TEXT("www.site.com"),
				INTERNET_DEFAULT_HTTP_PORT,
				NULL,NULL,
				INTERNET_SERVICE_HTTP,
				0,
				1u);

		if (hConnect != NULL) {
			HINTERNET hRequest = 
				::HttpOpenRequest(
					hConnect,
					TEXT("GET"),
					TEXT("cgi-bin/infomy.cgi"),
					NULL,
					NULL,
					0,
					INTERNET_FLAG_KEEP_CONNECTION,
					1);

			if (hRequest != NULL) {
				BOOL bSend = ::HttpSendRequest(hRequest, NULL,0, NULL,0);
				if (bSend) {
					ofstream fnews("mp3.htm",ios::out|ios::binary);
					if (fnews.is_open()) for (;;) {
						char  szData[1024];
						DWORD dwBytesRead;
						BOOL bRead = 
							::InternetReadFile(
								hRequest,
								szData,sizeof(szData)-1,
								&dwBytesRead);

						if (bRead == FALSE  ||  dwBytesRead == 0)
							break;

						szData[dwBytesRead] = 0;
						fnews << szData;

						ok = true;
					}
				}

				::InternetCloseHandle(hRequest);
			}

			::InternetCloseHandle(hConnect);
		}
		
		::InternetCloseHandle(hInternet);
	}

	if (ok)
		system("start mp3.htm");

	return 0;
}
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со списками уинов(обзор сортеров) cyrus ICQ 41 30.01.2010 16:54
Работа в сотрудничестве msobolev О Работе 0 03.02.2007 22:25
работа с куками IOBOWAN *nix 7 31.10.2006 12:55



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


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




ANTICHAT.XYZ