1. Fliplab

    Fliplab Elder - Старейшина

    Joined:
    29 Jul 2008
    Messages:
    123
    Likes Received:
    20
    Reputations:
    3
    Кто знает в чём может быть проблема?
    Делаю запрос
    Code:
    GET http://loveplanet.ru/index.php?a=regcheck&f=mail&v=' + Email + ' HTTP/1.0'#13#10#13#10
    . Он возвращает ошибку 400, типо запрос составлен не верно. Юзаю Винсоки. Отправляю этот запрос через shitt_http, ответ приходит нормальный. shitt_http - юзает Инди, сделалбы с ними, но терпеть их не могу.
     
  2. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    Поюзай снифер, почитай rfc. Где Host в заросе?
     
    _________________________
  3. Fliplab

    Fliplab Elder - Старейшина

    Joined:
    29 Jul 2008
    Messages:
    123
    Likes Received:
    20
    Reputations:
    3
    Kaimi, такой запрос запросто жрётся так как версия HTTP 1.0. Запрос отправлял по всякому и с хостом и т.п. Никак. Кароче пох, инди так инди(((( бе
     
  4. FEV

    FEV Member

    Joined:
    23 Sep 2009
    Messages:
    15
    Likes Received:
    7
    Reputations:
    0
    Для http 1.0 заголовок host не нужен.

    Возможно, проблема в том, что строковая переменная Email не в UrlEncode.
     
  5. Fliplab

    Fliplab Elder - Старейшина

    Joined:
    29 Jul 2008
    Messages:
    123
    Likes Received:
    20
    Reputations:
    3
    FEV Неа, не помогло)))
     
  6. FEV

    FEV Member

    Joined:
    23 Sep 2009
    Messages:
    15
    Likes Received:
    7
    Reputations:
    0
    почему "#13#10#13#10" находятся после последнего закрывающего апострофа? где первый открывающий апостроф? короче по тому куску кода ничего не понятно.
     
  7. Fliplab

    Fliplab Elder - Старейшина

    Joined:
    29 Jul 2008
    Messages:
    123
    Likes Received:
    20
    Reputations:
    3
    Данные уходят так
    Client - свой класс на винсоке
     
  8. dmnt

    dmnt Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    89
    Likes Received:
    36
    Reputations:
    15
    В дельфи не разбираюсь, но оно точно должно так выглядеть?
    А не так:
    Header := 'GET http://loveplanet.ru/?a=regcheck&f=mail&v=' + Email + ' HTTP/1.0'+'#13#10#13#10';
     
  9. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 dmnt если не разбираешься, то лучше не пишу чушь!

    Если ты шлеш запрос через HTTP прокси то всё норм. А если напрямую, то лучше сделай по нормальному. Потому что не все серваки корректно обрабатывают такие запрос.
    делай типа
    'GET /scrypt.ext?param='+mail+' HTTP/1.0'#13#10'Host: site.com'#13#10#13#10
     
    #9 slesh, 28 Mar 2010
    Last edited: 28 Mar 2010
  10. Fliplab

    Fliplab Elder - Старейшина

    Joined:
    29 Jul 2008
    Messages:
    123
    Likes Received:
    20
    Reputations:
    3
    slesh не помогло, я говорю всё уже перепробывал, не пойму в чём дело
     
  11. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    937
    Likes Received:
    162
    Reputations:
    27
    Может быть проблема в твоем классе? Скинь часть кода, которая отвечает за отправку данных.
     
  12. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    557
    Likes Received:
    45
    Reputations:
    0
    #13 тут вовсе ни к чему. Перевод строки используй #10. т.е. каждую новую строку разделяй #10 и в конце запроса оставляй #10#10
     
  13. Fliplab

    Fliplab Elder - Старейшина

    Joined:
    29 Jul 2008
    Messages:
    123
    Likes Received:
    20
    Reputations:
    3
    Нет, в нём нет проблем. Не первая прога на нём, но первая кот не пашет
     
  14. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    557
    Likes Received:
    45
    Reputations:
    0
    вот тебе рабочий пример

    Code:
    const
      RequestLine = 'GET /index.php HTTP/1.1' + #10 +
                              'Host: vk.com' + #10 +
                              'User-Agent: Mozilla/5.0 (delphi 7)' + #10 +
                              'Connection: close' + #10#10;
      w : TClientSocket;
    begin
      w := TClientSocket.Create(nil);
      w.Socket.SendText(RequestLine);
    end;
    
    у меня все работало)))
     
  15. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    937
    Likes Received:
    162
    Reputations:
    27
    Неправильно, это тебе скажут все, кто более менее работал с протоколом HTTP. Нужно использовать именно #13#10.
     
  16. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 Fliplab короче. не угукай мозги народу, а отснифайл то что посылается и выкладывай тут
     
  17. Fliplab

    Fliplab Elder - Старейшина

    Joined:
    29 Jul 2008
    Messages:
    123
    Likes Received:
    20
    Reputations:
    3
    Всё норм. Решил проблему) Delphi сума сошёл просто...
     
  18. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    557
    Likes Received:
    45
    Reputations:
    0
    когда я юзал #13#10, то я вылетал с ошибкой 400 Bad Request. Может я что то не так делал. Но когда я использовал для перевода строки #10, то все работало норм)
     
  19. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    937
    Likes Received:
    162
    Reputations:
    27
    Ну не знаю, все может быть. Только лучше такие слова подтверждать фактами.
     
    1 person likes this.
  20. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    надо не
    PHP:
    #13#10
    а
    PHP:
    #13+#10