-
Добрый день уважаемые! Взялся за тяжелый (на мой взгляд) проект, парсинг с https по средствам TIdHTTP+TidSSLIOHandlerSocket и наткнулся на множество проблем (как и многие в прочем) Задача получит данные о балансе НОМЕРА!!!Помогите пожалуйсто! procedure TForm1.Button1Click(Sender: TObject);
var
SSLIO: TidSSLIOHandlerSocket;
ProxyUse,ProxyAuth,UseSSL: boolean;
body: string;
HTTP: TIdHTTP;
THURL: string;
begin
ProxyUse := true;
ProxyAuth := true;
UseSSL := true;
THURL := 'https://issa.samara.mts.ru/SelfCare_Net2/account-status.aspx';
Http := TIdHTTP.Create(nil);
Http.Request.Username := 'Номер телефона';
Http.Request.Password := 'Пароль';
try
Http.HTTPOptions := [hoInProcessAuth];
Http.HandleRedirects := true;
Http.AuthRetries := 1;
if UseSSL then begin
SSLIO := TidSSLIOHandlerSocket.Create(Http);
Http.IOHandler := SSLIO;
SSLIO.SSLOptions.Method := sslvTLSv1;
it will be encrypted.
basic and SSL breaks it.
Http.Request.BasicAuthentication := true;
end;
body := Http.Get(THURL);
Memo1.Clear; Memo1.Lines.Add(body);
finally
if http.ResponseCode = 401 then
showmessage('Authorisation required!');
if UseSSL then SSLIO.Free;
Http.Free;
end;
end; Вообще запустил HttpAnalyzerSTD, показывает: Что выполняеться последовательно 1 POST и 8 GET процессов... Может ли ктонибудь объяснить что мне нужно отправлять для получения нужной информации. Анализируя процессы, вижу что необходимый мен результат возвращяет последний GET/ Поможте пожалста!
-
-
> ТУТ ПОЛУЧАЮ ОШИБКУ socket error # 11004
Невозможно найти IP сервера по заданному имени (Полное описание ошибки: Затребованое имя допустимо и оно найдено в базе данных, но для имени отсутствуют связанные с ним данные, которые были разрешены для него (11004) on API 'ASync Lookup") Смотрите на ответы сервера в процессе 1 POST-а и 8 GET-ов, может что-то прояснится.
-
> umbra © (12.02.08 13:40) [2]
Спасибо! Сейчас буду разбираться!
-
Ну что ж, немного посмотрел, решил ВЫПОЛНИТЬ первый POST Что передовать в качестве параметров? В HTTPANALYZER-е есть: Headers: 1.Request Headers (Request-Line):POST /SelfCare_Net2/login.aspx HTTP/1.1 Accept:*/* Referer:https://issa.samara.mts.ru/SelfCare_Net2/ Accept-Language:ru Content-Type:application/x-www-form-urlencoded UA-CPU:x86 Accept-Encoding:gzip, deflate User-Agent:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; EmbeddedWB 14,52 from: http://www.bsalsa.com/ EmbeddedWB 14,52; .NET CLR 2.0.50727) Host:issa.samara.mts.ru Content-Length:1508 Connection:Keep-Alive Cache-Control:no-cache Cookie:FORIS.TelCRM.SelfCare.Internet.UI.Language=ru; ASP.NET_SessionId=1clid12icv14ql45mkzbcfat2.Responce Headers (Status-Line):HTTP/1.1 302 Found Date:Tue, 12 Feb 2008 11:57:07 GMT Server:Microsoft-IIS/6.0 X-Powered-By:ASP.NET X-AspNet-Version:2.0.50727 Location:/SelfCare_Net2/login-wait.aspx Set-Cookie:.ASPXAUTH=; expires=Mon, 11-Oct-1999 19:00:00 GMT; path=/; HttpOnly Set-Cookie:FORIS.TelCRM.SelfCare.Internet.UI.Language=ru; expires=Mon, 12-May-2008 10:57:07 GMT; path=/ Set-Cookie:.ASPXAUTH=3D5609C6DE2FF536EE0FDB8002E61312E28E2D1492176C17DDD9DF18BBA4DB6 B606DED1AA5F075B92C64C5B00574FC17604C3D34A0F53E6613D9822C2143C1E692C8F0017CC7DD9 DD7112C7DF780A730; path=/; HttpOnly Cache-Control:private Expires:Tue, 12 Feb 2008 11:57:07 GMT Content-Type:text/html; charset=utf-8 Content-Length:25015Далее имеем: Cookies: 1.Cookie Name FORIS.TelCRM.SelfCare.Internet.UI.Language=ru ASP.NET_SessionId=1clid12icv14ql45mkzbcfat2. Set-Cookie Name: .ASPXAUTH / Mon, 11-Oct-1999 19:00:00 GMT FORIS.TelCRM.SelfCare.Internet.UI.Language ru / Mon, 12-May-2008 10:57:07 GMT .ASPXAUTH 3D5609C6DE2FF536EE0FDB8002E61312E28E2D1492176C17DDD9DF18BBA4DB6B606DED1AA5F075B9 2C64C5B00574FC17604C3D34A0F53E6613D9822C2143C1E692C8F0017CC7DD9DD7112C7DF780A730 / Post data: __EVENTTARGET= __EVENTARGUMENT= __VIEWSTATE=/wEPDwULLTE1NjkzMzkzNTAPZBYCZg9kFgICAw8WAh4Gb25sb2FkBUtqYXZhc2NyaXB0OmRvY3VtZW50L mdldEVsZW1lbnRCeUlkKCdjdGwwMF9wbGFjZXJfcGhvbmVOdW1iZXJFZGl0JykuZm9jdXMoKTsWBGYPF gIeC18hSXRlbUNvdW50AgEWAmYPZBYCZg8VAhZsb2dpbi5hc3B4P2xhbmd1YWdlPWVuB2VuZ2xpc2hkA gEPZBYCZg9kFgoCAQ8PFgIeBFRleHQFHNCd0L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsDpkZAIFDw8WAh8CBQ3Qn9Cw0YDQvtC70Yw6ZGQCCQ8PFgQeDEVycm9yTWVzc2FnZQXxAdCS0Ysg 0LLQstC10LvQuCDQvdC10LrQvtGA0YDQtdC60YLQvdGL0Lkg0L3QvtC80LXRgC4g0J3QtdC+0LHRhdC+0LTQuNC80L4g0LLQstC10YHRgtC4INC90L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsCDQuNC3IDEwINGG0LjRhNGALCDRgSDRg9C60LDQt9Cw0L3QuNC10Lwg0LrQvtC00LAsINC90LDQ v9GA0LjQvNC10YAsIDQ5NTEyMzQ1NjcsINC4INC/0YDQuNC90LDQtNC70LXQttCw0YnQuNC5INGB0LXRgtC4INCc0KLQoS4eFFZhbGlkYXRpb25FeHByZXNz aW9uBQheXGR7MTB9JGRkAgsPDxYCHwMF8QHQktGLINCy0LLQtdC70Lgg0L3QtdC60L7RgNGA0LXQutGC 0L3Ri9C5INC90L7QvNC10YAuINCd0LXQvtCx0YXQvtC00LjQvNC+INCy0LLQtdGB0YLQuCDQvdC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAg0LjQtyAxMCDRhtC40YTRgCwg0YEg0YPQutCw0LfQsNC90LjQ tdC8INC60L7QtNCwLCDQvdCw0L/RgNC40LzQtdGALCA0OTUxMjM0NTY3LCDQuCDQv9GA0LjQvdCw0LTQu9C10LbQsNGJ0LjQuSDRgdC10YL QuCDQnNCi0KEuZGQCDw8PFgIfAgUc0JLQvtC50YLQuCDQsiDRgdC40YHRgtC10LzRg2RkZCfHIgWOaD6 s5QPtaAW5VVN4mDLC ctl00$placer$phoneNumberEdit=XXXXXXXXXX ctl00$placer$passwordEdit=XXXXX ctl00$placer$btnEnter=Войти в ÑиÑтему __EVENTVALIDATION=/wEWBAKRtcHFCgKqu/iBCAKBh5uRCwKjnLtj9RZRkvv1pFIxn++P8SToherdW/Y= STREAM: POST /SelfCare_Net2/login.aspx HTTP/1.1 Accept: */* Referer: https://issa.samara.mts.ru/SelfCare_Net2/ Accept-Language: ru Content-Type: application/x-www-form-urlencoded UA-CPU: x86 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; EmbeddedWB 14,52 from: http://www.bsalsa.com/ EmbeddedWB 14,52; .NET CLR 2.0.50727) Host: issa.samara.mts.ru Content-Length: 1508 Connection: Keep-Alive Cache-Control: no-cache Cookie: FORIS.TelCRM.SelfCare.Internet.UI.Language=ru; ASP.NET_SessionId=1clid12icv14ql45mkzbcfat
__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwULLTE1NjkzMzkzNTAPZBYCZg9kFgICAw8WAh4Gb25sb2FkBUtqYXZhc2NyaXB0OmRvY3VtZW5 0LmdldEVsZW1lbnRCeUlkKCdjdGwwMF9wbGFjZXJfcGhvbmVOdW1iZXJFZGl0JykuZm9jdXMoKTsWBGY PFgIeC18hSXRlbUNvdW50AgEWAmYPZBYCZg8VAhZsb2dpbi5hc3B4P2xhbmd1YWdlPWVuB2VuZ2xpc2h kAgEPZBYCZg9kFgoCAQ8PFgIeBFRleHQFHNCd0L7QvNC10YAg0YLQtdC70LXRhNC%2B0L3QsDpkZAIFDw8WAh8CBQ3Qn9Cw0YDQvtC70Yw6ZGQCCQ8PFgQeDEVycm9yTWVzc2FnZQXxAdCS0Y sg0LLQstC10LvQuCDQvdC10LrQvtGA0YDQtdC60YLQvdGL0Lkg0L3QvtC80LXRgC4g0J3QtdC%2B0LHRhdC%2B0LTQuNC80L4g0LLQstC10YHRgtC4INC90L7QvNC10YAg0YLQtdC70LXRhNC%2B0L3QsCDQuNC3IDEwINGG0LjRhNGALCDRgSDRg9C60LDQt9Cw0L3QuNC10Lwg0LrQvtC00LAsINC90L DQv9GA0LjQvNC10YAsIDQ5NTEyMzQ1NjcsINC4INC%2F0YDQuNC90LDQtNC70LXQttCw0YnQuNC5INGB0LXRgtC4INCc0KLQoS4eFFZhbGlkYXRpb25FeHByZX NzaW9uBQheXGR7MTB9JGRkAgsPDxYCHwMF8QHQktGLINCy0LLQtdC70Lgg0L3QtdC60L7RgNGA0LXQut GC0L3Ri9C5INC90L7QvNC10YAuINCd0LXQvtCx0YXQvtC00LjQvNC%2BINCy0LLQtdGB0YLQuCDQvdC%2B0LzQtdGAINGC0LXQu9C10YTQvtC90LAg0LjQtyAxMCDRhtC40YTRgCwg0YEg0YPQutCw0LfQsNC90L jQtdC8INC60L7QtNCwLCDQvdCw0L%2FRgNC40LzQtdGALCA0OTUxMjM0NTY3LCDQuCDQv9GA0LjQvdCw0LTQu9C10LbQsNGJ0LjQuSDRgdC10 YLQuCDQnNCi0KEuZGQCDw8PFgIfAgUc0JLQvtC50YLQuCDQsiDRgdC40YHRgtC10LzRg2RkZCfHIgWOa D6s5QPtaAW5VVN4mDLC&ctl00%24placer%24phoneNumberEdit=XXXXXXXXXX&ctl00%24placer%24passwordEdit=XXXXX&ctl00%24placer%24btnEnter=%D0%92%D0%BE%D0%B9%D1%82%D0%B8+%D0%B2+%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%83&__EVENTVALIDATION=%2FwEWBAKRtcHFCgKqu%2FiBCAKBh5uRCwKjnLtj9RZRkvv1pFIxn%2B%2BP8SToherdW%2FY%3DЯ так понимаю последнее и есть необходимые параметы?
-
Праильно лия понимаю, нужно ВЫПОЛНИТЬ POST, получить тем самым Cookies и а затем используя эти куки далее, или можно и без кукисов работать?
-
>[5] Lamer666 (2008-02-12 15:49:00) а ты проверь — и узнаешь.
--- Understanding is not required. Only obedience.
-
> ketmar © (12.02.08 16:05) [6]
Это теоритическое предположение, основанное только лишь на интуиции, поэтому хоч услышать подтверждение МАСТЕРОВ, стоит ли идти в этом направлении, и вообще правильное ли оно?!
-
>[7] Lamer666 (2008-02-12 16:24:00) за пол-часа это можно было кучу раз проверить самому. откуда нам-то знать, что там твой сервер проверяет?
--- Understanding is not required. Only obedience.
-
Понятно, сейчас попробую, а метод GET будет работать без кукисов?
-
>[9] Lamer666 (2008-02-12 16:31:00) а чего ему не работать? вот сервер может обидеться. именно это ты и проверишь.
--- Understanding is not required. Only obedience.
-
включи кукисы, зачем их вручную парсить?
-
ктому же не средиректилося... HTTP/1.1 302 Found
Location:/SelfCare_Net2/login-wait.aspx а он повторно на /SelfCare_Net2/login.aspx щимится
-
> включи кукисы, зачем их вручную парсить
А как из включить? : (
-
> А как из включить?
прицепить TIdCookieManager к TIdHTTP
-
> umbra © (13.02.08 17:29) [14]
Спасибо! Разобрался уже, нашел у idHTTP CookieManeger! Спасибо!
|