проблемка с соксами при idhttp запросах

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by maloy_ya, 27 Sep 2010.

  1. maloy_ya

    maloy_ya New Member

    Joined:
    8 Feb 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    доброго времени суток вам!!вот нынче занят написанием прожки, без проски все проходит на ура а вот при подключении прокси получаеться крепкая ботва!!
    подключал прокси вот так:

    Code:
    fs:TmemoryStream;
    compressor:tIdCompressorZLibEx;
    stack:tidIOHandlerStack;
    sock:tidsocksinfo;
    begin
    proxyadr :='221.231.139.5:1080';
    idhttp1.ReadTimeout := 30000;
    idhttp1.ConnectTimeout := 10000;
    idhttp1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)';
    //idhttp1.Request.AcceptEncoding := 'gzip,deflate';
    sock := tidsocksinfo.create (idhttp1);
    sock.authentication := sanoauthentication;
    sock.version := svsocks5;
    sock.host := copy (proxyadr, 1, pos (':', proxyadr) - 1);
    sock.port := strtoint (copy (proxyadr, pos (':', proxyadr) + 1, 5));
    stack := tidIOHandlerStack.Create (idhttp1);
    stack.TransparentProxy := sock;
    idhttp1.IOHandler := stack;
    compressor := tIdCompressorZLibEx.Create (idhttp1);
    idhttp1.Compressor := compressor;
    fs:=TmemoryStream.Create;
    da:=TStringList.Create;
    da.Add('Login='+e1.Text);
    da.Add('Domain='+e2.Text);
    da.Add('Password='+e3.Text);
    s:=idHTTP1.Post('http://win.mail.ru/cgi-bin/auth',da);
    и далее еще кучазапросов.

    Но при первом же пост запросе он отправляет:
    login
    domain
    password
    domain
    password
    domain
    password
    и точно так же в последующих запросах он мне отправляет:
    login, domain хотя их там в помине не должно быть!!
    Подскажите плиз в чем беда??
    З.Ы. делфи7 инди 10.0.52
     
  2. maloy_ya

    maloy_ya New Member

    Joined:
    8 Feb 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    да уж неверится что ни у кого такого не было ну хоть нафиг не послали и на том спасибо!!
     
  3. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    не вижу где объявлена переменная "da"
    она у тебя не глобальная случаем?
     
  4. maloy_ya

    maloy_ya New Member

    Joined:
    8 Feb 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    нет не глобальная просто видать не зацепил его вообще она вот так определена da:TStringList;
     
  5. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Если юзаешь HttpAnalyzer то он часто криво или неверно отображает пост-данные. Попробуй воспользоваться другим сниффером.
     
  6. maloy_ya

    maloy_ya New Member

    Joined:
    8 Feb 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    юзаю именно его!!а каким не подскажете хороший??
     
  7. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Других хороших не знаю. Просто знаю что есть такая особенность.
    Поставь точку останова на строку:
    s:=idHTTP1.Post('http://win.mail.ru/cgi-bin/auth',da);
    и посмотри что хранится в da в окне Local Variables
    если будет недоступно, то отключи оптимизацию и сделай ребилд всего проекта
    скорее всего там будет все норм, иначе это мистика, во всяком случае с инди и соксами это никак не может быть связано и заполняешь ты вроде все корректно
     
  8. maloy_ya

    maloy_ya New Member

    Joined:
    8 Feb 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    я так понял он мне вывалил все переменные??иначе пипец как много лишнего!!
    вот что отдал:

    Self: Variable 'Self' inaccessible here due to optimization
    da: ()
    s: ''
    x_reg_id: ''
    captcha: ''
    proxyadr: '98.24.37.125:1284 '
    account: '[email protected]:123456xz'
    user: '[email protected]'
    login: 'lana_bill-100'
    pass: '123456xz'
    new_pass: '78fgyjn658'
    domain: 'mail'
    bool: True
    http: ([csInheritable], nil, nil, nil, nil, ((0, 0, 0), (0, 0, 0)), nil, $AF0190, $AF07AC, $AF0218, False, nil, $AF07AC, TIdReplyRFC, 30000, '', '', Id_IPv4, nil, '', 0, 30000, '', nil, nil, 0, 0, $AB842C, $AF0388, False, 3, 255, True, nil, pv1_1, 0, 15, True, [hoForceEncodeParams], $AF02A0, $AF02D4, $AF04EC, nil, nil, nil, nil, nil)
    coo: Variable 'coo' inaccessible here due to optimization
    compressor: ([csInheritable])
    stack: ([csInheritable], nil, nil, nil, nil, ((0, 0, 0), (0, 0, 0)), $AA8770, False, 30000, '', '', nil, nil, -1, maException, 16384, False, 0, False, False, 30000, nil, 32768, 32768, nil, 0, nil, '', 0, 0, 0, 0, nil, nil, nil, $A94DD4, True, Id_IPv4)
    sock: ([csInheritable], nil, nil, nil, nil, ((0, 0, 0), (0, 0, 0)), nil, '98.24.37.125', '', 1284, '', nil, saNoAuthentication, svSocks5, $AF0674)

    если да то именно отправляемые данные коректны на сколько я вижу...
     
  9. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    o_O зачем ты все скопировал?
    короче, когда останавливается на бряке жмешь Ctrl+F7 появляется окно ну а там уже дело техники, вводишь например
    da.Text
    da.Count
    da[0]
    da[1]
    da[2]
    и в том же духе
    все значения можно просмотреть

    Я тупанул, и забыл спросить самое главное: ты в на вкладке Raw Stream в сниффере смотрел? скопируй сюда оттуда
     
    #9 GhostOnline, 11 Oct 2010
    Last edited: 11 Oct 2010
  10. maloy_ya

    maloy_ya New Member

    Joined:
    8 Feb 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    POST /cgi-bin/auth HTTP/1.0
    Connection: keep-alive
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 52
    Host: win.mail.ru
    Accept: text/html, */*
    Accept-Encoding: deflate, gzip, identity
    User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)

    [email protected]&Domain=mail&Password=123456xzwin.mail.rup

    вот така фигня!!

    ответ:

    HTTP/1.1 302 OK
    Server: nginx/0.7.62
    Date: Sun, 10 Oct 2010 21:20:54 GMT
    Content-Type: text/plain
    Connection: close
    Set-Cookie: t=obLD1AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAQAACAgEBAgAAAAEAAAAfARgJxQcA; expires=Fri, 08 Apr 2011 21:20:54 GMT; path=/; domain=.mail.ru
    Set-Cookie: Mpop=1286745654:7047414e54637b0e190502190f1d00051c 0606074966535c465d0602020b081602757716554d555b501a 0c05145c555e551f4243:[email protected]:; expires=Sat, 08 Jan 2011 21:20:54 GMT; path=/; domain=.mail.ru
    Location: http://win.mail.ru/cgi-bin/checkcookie?id=7047414e54637b0e190502190f1d00051c0 606074966535c465d0602020b081602757716554d555b501a0 c05145c555e551f4243
    Set-Cookie: mrcu=DF894CB22E363773EB3C0100007F; expires=Wed, 07 Oct 2020 21:20:54 GMT; path=/; domain=.mail.ru
    Content-Length: 0
    X-Host: f264.mail.ru
     
    #10 maloy_ya, 11 Oct 2010
    Last edited: 11 Oct 2010
  11. 0pTik

    0pTik Banned

    Joined:
    18 Jul 2010
    Messages:
    240
    Likes Received:
    85
    Reputations:
    17
    Это глюк , а вот в последнем посте идет редирект
     
  12. maloy_ya

    maloy_ya New Member

    Joined:
    8 Feb 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    ну да редирект и как бы он его нормально проходит без прокси!!