[Delphi] Как залить картинку на pixic.ru

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Москва, 22 Sep 2013.

Thread Status:
Not open for further replies.
  1. Москва

    Москва New Member

    Joined:
    19 Oct 2010
    Messages:
    63
    Likes Received:
    3
    Reputations:
    0
  2. Москва

    Москва New Member

    Joined:
    19 Oct 2010
    Messages:
    63
    Likes Received:
    3
    Reputations:
    0
    Ошибки нет. Просто загружается главная с кодом 200.
    Code:
    var
      HTTP: TIdHTTP;
      ContentList: TStringList;
      MultiData: TIdMultiPartFormDataStream;
    begin
      HTTP:= TIdHTTP.Create(nil);
      HTTP.Request.UserAgent:= 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0';
      HTTP.HandleRedirects:= True;
      ContentList:= TStringList.Create;
      MultiData:= TIdMultiPartFormDataStream.Create;
      MultiData.AddFile('file1','test.jpg','image/jpeg');
      ContentList.Text:= HTTP.Post('http://www.pixic.ru/',MultiData);
      ShowMessage(HTTP.ResponseText);
      ContentList.SaveToFile('test.html');
     
  3. antichar

    antichar New Member

    Joined:
    11 Sep 2013
    Messages:
    45
    Likes Received:
    2
    Reputations:
    0
    Почему бы не посмотреть в сниффере, что браузер отправляет? Может там cookies надо.
     
  4. Москва

    Москва New Member

    Joined:
    19 Oct 2010
    Messages:
    63
    Likes Received:
    3
    Reputations:
    0
    idHTTP использует cookies. Вообще шлю так же все как в httpfox покзывает
     
  5. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    А где остальные поля формы: send, thumb_size, thumb_text ... и т.д?
    В случае успешной загрузки он 302 возвращает на результат.
     
    _________________________
  6. antichar

    antichar New Member

    Joined:
    11 Sep 2013
    Messages:
    45
    Likes Received:
    2
    Reputations:
    0
    Допустим, в приведенном примере нет никаких cookies. А каких-то параметров явно не хватает.
     
  7. Москва

    Москва New Member

    Joined:
    19 Oct 2010
    Messages:
    63
    Likes Received:
    3
    Reputations:
    0
    Они стандартно используются в IdHTTP. Например если авторизоваться в одноклассниках, то можно и серфить они в заголовках лежат, короч где то там.

    Да каких то параметров не хватает это понятно, но каких?
     
  8. antichar

    antichar New Member

    Joined:
    11 Sep 2013
    Messages:
    45
    Likes Received:
    2
    Reputations:
    0
    Не используются они стандартно, пока не подключишь CookieManager.
    Каких параметров не хватает - запускаешь сниффер и смотришь, что браузер отправляет в POST-запросе.
     
  9. Москва

    Москва New Member

    Joined:
    19 Oct 2010
    Messages:
    63
    Likes Received:
    3
    Reputations:
    0
    Используются можно посмотреть в RawHeaders
     
  10. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    2 Москва, не спорь со старшими :)

    В RawHeaders тебе возвращается ответ Set-Cookie от сервера, а со своей стороны ты в последующих запросах должен САМ отправлять поле cookie с тем что было тебе передано сервером изначально... Не веришь? Читай RFC или wiki

    Куча народу тебе сказало, что ты отсылаешь не все поля формы - открой Chrome нажми Shift+Ctrl+I (инструменты разработчика) вкладка network и посмотри POST запрос.
     
    _________________________
    1 person likes this.
Thread Status:
Not open for further replies.