хочу писать проги для вк. токо нужен пример искал в гугл путевого ничего не нашел скините плиз пару прог исходников на делфи например чекер анкаутов и так далее
ну уж не ври. примеры авторизации есть точно! да и можешь отснифать. кстати насколько знаю легче авторизироваться на мобильной версии вк.
И в той, и в той версии 1 запрос нужно лишь послать и разрешить редиректы Потом остается лишь посмотреть ответ от сервера, перекинули нас на нашу страницу или нет
Исходник чекера акков? Его никто не выложит за бесплатно, я более чем уверен. Учись, учись и ещё раз учись! Для начала попробуй авторизироватсья вконтакте с помощью дельфи. Кстате, первая ссылка в гугле ага - http://qi0.ru/blog/?p=85 *В могучем гугле есть всё.* Удачи.
1) изучаешь таргетный язык программирования, до такой степени, чтобы не писать бредовый код по типу if (b == true) {} 2) изучаешь английский язык до такой степени, чтобы свободно понимать техническую документацию по языку, RTL, и используемым библиотекам 3) изучаешь нужный тебе протокол, и нужную тебе предметную область (в данном случае это веб-страницы, и принципы их верстки). реализовывать всё вручную никто не заставляет. такого добра и задаром полно. но ты хотя бы сможешь ориентироваться в библиотеках, и понимать их возможности только "читая" их API. удачи.
Сделал на коленке. Малоли новичкам понадобиться в uses добавить synacode, httpsend, ssl_openssl. В папку с программой добавить ssleay32.dll и libeay32.dll найти можно везде. Используются для ssl. Функция отправки запроса. C возможность сохранять необходимые файлы.Малоли понадобиться картинки аль еще что сохранять. Code: function send_post(request,url_send,referer, namefile, addCookie:string):string; var stream: TStringStream; BodyS: TStringList; HTTP: THTTPSend; n : integer; NewUrl : string; mm:tmemorystream; begin HTTP := THTTPSend.Create; try HTTP.Document.Clear; HTTP.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0'; HTTP.MimeType := 'application/x-www-form-urlencoded; charset=UTF-8'; HTTP.Headers.Add('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' ); HTTP.Headers.Add('AcceptLanguage: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3'); HTTP.Headers.Add('Referer: '+referer); if(cookie<>'') then HTTP.Cookies.Text:=cookie; if (request <> '') then begin stream:=TStringStream.Create(''); stream.WriteString(request); HTTP.Document.LoadFromStream(stream); HTTP.HTTPMethod('post',url_send); end else HTTP.HTTPMethod('get',url_send); if (AddCookie <> '') then CookieGet(HTTP.Headers.Text); if (namefile <> '') then begin mm :=TMemoryStream.Create; mm.SetSize(HTTP.Document.Size); HTTP.Document.Position:=0; mm.Position:=0; mm.CopyFrom(HTTP.Document,HTTP.Document.Size); mm.Position:=0; try try mm.SaveToFile(dir_download+'\'+namefile); except mm.SaveToFile(dir_download+'\'+ExtractUrlFileName(url_send)); end; finally mm.Free; end; end else begin BodyS := TStringList.Create; BodyS.LoadFromStream(HTTP.Document); Result:=BodyS.Text; end; case HTTP.Resultcode of 301, 302, 307: begin n := FoundLocationStrNum(HTTP.Headers); if (n >= 0) and (n <= HTTP.Headers.count) then // если в хэдере найдена строка с локейшеном begin NewUrl := StringReplace(HTTP.Headers.Strings[n],'Location: ','',[]); Result:=NewUrl; end else ShowMessage('В заголовке не найдена ссылка для редиректа'); end; end; finally HTTP.Free; end; end; Подключение к вк Code: procedure LoginVK; var TextResponse, ip_h : string; i : Integer; request : string; begin TextResponse := send_post('', 'http://vk.com/', 'http://vk.com/login?act=mobile' , '', '1'); i := Pos('<input type="hidden" name="ip_h" value="',TextResponse)+39; Delete(TextResponse,1,i); i := Pos('" />',TextResponse); Delete(TextResponse,i,Length(TextResponse)); ip_h := TextResponse; request := 'act=login&role=al_frame&expire=&captcha_sid=&captcha_key=&_origin=http://vk.com&ip_h='+Trim(ip_h)+'&email='+login+'&pass='+pass; TextResponse := send_post(request, 'https://login.vk.com/?act=login', 'http://vk.com/login?act=mobile', '', '1'); send_post('', Trim(TextResponse), 'http://vk.com/login?act=mobile' , '', '1'); end;