HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

#400 Bad request (WinSock)(Delphi)
  #1  
Старый 23.06.2009, 19:59
diznt
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
С нами: 9619229

Репутация: 445


По умолчанию #400 Bad request (WinSock)(Delphi)

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 s:TSocket;
 Ws:TWSAData;
 addr:sockaddr_in;
 se:string;
 login:string;
begin
 Memo1.Lines.Add('Подкл. WinSock');
 if WSAStartup($101,Ws)=-1 then
  begin
   Memo1.Lines.Add('-Ошибка');
   exit;
  end
 else
  begin
   Memo1.Lines.Add('-Ок');
  end;
 Memo1.Lines.Add('Создание сокета');
 s:=socket(af_inet, sock_stream, 0);
 if s=-1 then
  begin
   Memo1.Lines.Add('-Ошибка');
   exit;
  end
 else
  begin
   Memo1.Lines.Add('-Ок');
  end;
 addr.sin_family:=af_inet;
 addr.sin_port:=htons(80);
 addr.sin_addr.S_addr:=inet_addr('89.188.101.138');
 Memo1.Lines.Add('Установка связи с хостом');
 if connect(s,addr,sizeof(addr))=-1 then
  begin
   Memo1.Lines.Add('-Ошибка');
   closesocket(s);
   exit;
  end
 else
  begin
   Memo1.Lines.Add('-Ок');
  end;
 login:='SAVEURL=&SERVER=1&account='+edit1.Text+'&pass='+edit2.text+'&submit=%C2%EE%E9%F2%E8';
 se:='POST /cgi/l2isapi.dll/l2login HTTP/1.0'+#13#10+
     'User-Agent: Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.00'+#13#10+
     'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'+#13#10+
     'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'+#13#10+
     'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'+#13#10+
     'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'+#13#10+
     'Cookie: spylog_test=1'+#13#10+
     'Cookie2: $Version=1'+#13#10+
     'Host: lineage.ru'+#13#10+
     'Connection: Keep-Alive'+#13#10+
     'Content-Length: '+IntToStr(Length(login))+#13#10+
     'Content-Type: application/x-www-form-urlencoded'+#13#10+#13#10+login;
 send(s,se,Length(se),0);
 recv(s,re,5000,0);
 Memo2.Text:=re;
 closesocket(s);
end;
Создал новую тему так как код объемный

Вообщем получается ошибка #400 (ответ сервера)

Вот что в мемо добавляется

PHP код:
HTTP/1.1 400 Bad Request
Content
-Typetext/html
Date
Tue23 Jun 2009 15:49:12 GMT
Connection
close
Content
-Length35

<h1>Bad Request (Invalid Verb)</h1
Исправьте пожалуйста! Поскоку изучаю WinSock не давно просьба не ругать

Последний раз редактировалось diznt; 15.07.2009 в 11:06..
 
Ответить с цитированием

  #2  
Старый 23.06.2009, 21:57
intNet
Познающий
Регистрация: 31.05.2009
Сообщений: 68
С нами: 8919750

Репутация: 19
По умолчанию

Скорее всего ошибка всего в пост-запросе. Снифай то, что отправляет браузер и то, что отправляешь ты, сравнивай - так найдёшь ошибку.
Уже вижу -
Код:
'Content-Length: '+IntToStr(Length(login))+
Замени на :
Код:
'Content-Length: '+IntToStr(Length(login))+#13#10+
Потом :
Код:
'Connection: close'+#13#10+#13#10;
-это сотри нах.
В общем запрос должен выглядеть примерно так :
Код:
'POST http://lineage.ru/cgi/l2isapi.dll/l2login HTTP/1.0'+#13#10+
     'User-Agent: Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.00'+#13#10+
     'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'+#13#10+
     'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'+#13#10+
     'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'+#13#10+
     'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'+#13#10+
     'Cookie: spylog_test=1'+#13#10+
     'Cookie2: $Version=1'+#13#10+
     'Connection: Keep-Alive'+#13#10+
     'Content-Length: '+IntToStr(Length(login))+#13#10+
     'Content-Type: application/x-www-form-urlencoded'#13#10#13#10+login;
 
Ответить с цитированием

  #3  
Старый 23.06.2009, 21:58
[n]-c0der
Участник форума
Регистрация: 03.02.2009
Сообщений: 104
С нами: 9087590

Репутация: 70
По умолчанию

Во - первых код безобразный
Во - вторых тег [code][\code], придумали не просто так
В третьих учи HTTP протокол
В четвертых, прислушайся к вышесказанному ведь ты просишь помощи у общетсва, будь добр хотя бы сделать все это читабельным.
 
Ответить с цитированием

  #4  
Старый 24.06.2009, 09:58
diznt
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
С нами: 9619229

Репутация: 445


По умолчанию

Цитата:
Сообщение от [n]-c0der  
Во - первых код безобразный
Переделай мой код пожалуйста под нормальный чтобы я понял что значит "Безобразный" (или же укажи на ошибки чтобы был код норм)

[n]-c0der http протокол я то знаю просто смутило что у автора de-visible в мини-статье написано в конце
"'Connection: close'+#13#10+#13#10;"
я решил так написать (да и вообще делал не на свежую голову, теперь осознал что сделал не так (в основном))

intNet переделал -> не помогает
посылал сейчас пакет итог (из под другой программы) -> что он послался нормально

Последний раз редактировалось diznt; 24.06.2009 в 12:36..
 
Ответить с цитированием

  #5  
Старый 24.06.2009, 13:42
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
С нами: 9023100

Репутация: 395


По умолчанию

мда....
не удевительно POST запрос должен быть хотябы такого вида
Код:
$post="srch_where=".url($sql)."&folder=".url('inbox')."&srch_text=".url('lol')."&srch_type=".url('s')."&sort_type=".url('d');
$len=length($post);

$zap="POST /messages.php HTTP/1.1\n"
    ."User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\n"
    ."Referer: www.zerodivide.hut1.ru\n"
    ."Content-Type: application/x-www-form-urlencoded\n"
 #   ."Content-Type: multipart/form-data;\n"
    ."Content-Length: $len\n"
    ."Cookie: $cook\n"
    ."Host: $serv\n"
    ."Accept: text/*;q=0,9\n"
    ."Connection: close\n\n"
    ."$post";
надеюсь разберешся что к чему. а ваще читай RFC по протоколу
 
Ответить с цитированием

  #6  
Старый 24.06.2009, 13:58
diznt
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
С нами: 9619229

Репутация: 445


По умолчанию

Цитата:
Сообщение от Gar|k  
мда....
не удевительно POST запрос должен быть хотябы такого вида
Код:
$post="srch_where=".url($sql)."&folder=".url('inbox')."&srch_text=".url('lol')."&srch_type=".url('s')."&sort_type=".url('d');
$len=length($post);

$zap="POST /messages.php HTTP/1.1\n"
    ."User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\n"
    ."Referer: www.zerodivide.hut1.ru\n"
    ."Content-Type: application/x-www-form-urlencoded\n"
 #   ."Content-Type: multipart/form-data;\n"
    ."Content-Length: $len\n"
    ."Cookie: $cook\n"
    ."Host: $serv\n"
    ."Accept: text/*;q=0,9\n"
    ."Connection: close\n\n"
    ."$post";
надеюсь разберешся что к чему. а ваще читай RFC по протоколу
#2 и #4...

Gar|k кстати а почему у девизибла

'Connection: close' + #13#10#13#10;

В конце http пакета, почему? (мини статьи -> вторая страница)

У тя же эта строчка до переменной $post

Впрочем сейчас надо мой сначала вопрос решить!
 
Ответить с цитированием

  #7  
Старый 24.06.2009, 15:16
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
С нами: 9023100

Репутация: 395


По умолчанию

я незнаю почему у него так, но ващет сначала идут заголовки только потом данные.
твоя проблема решается бонально просто - измени запрос.
 
Ответить с цитированием

  #8  
Старый 24.06.2009, 15:21
diznt
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
С нами: 9619229

Репутация: 445


По умолчанию

Цитата:
Сообщение от Gar|k  
я незнаю почему у него так, но ващет сначала идут заголовки только потом данные.
твоя проблема решается бонально просто - измени запрос.
Легко сказать...
Ну и какой запрос подставить чтобы работало? В моем случае токо интересует! (примеры не нужны! нужно решение моей проблемы)
Твой пост #5 аналог посту #2 и в нем я не увидел доп. информации

Последний раз редактировалось diznt; 24.06.2009 в 16:03..
 
Ответить с цитированием

  #9  
Старый 24.06.2009, 21:47
intNet
Познающий
Регистрация: 31.05.2009
Сообщений: 68
С нами: 8919750

Репутация: 19
По умолчанию

Gar|k, не вижу разницы кроме различия в языках.
2 TC:
Снифай HTTP Analyzer'om, переходи на вкладку "stream", преобразовывай код к паскалевскому виду и шли. De-Visible делал также, никаких доп. данных он не прописывал.
Я Писал уже :
Цитата:
Снифай то, что отправляет браузер и то, что отправляешь ты, сравнивай - так найдёшь ошибку.
Сначала вкл. сниффер, логинишься на сайт(к примеру) и смотришь отпр. данные.
Копи-пастишь отправляемые данные в программу и пытаешься их отослать, сравниваешь заголовки. При удачном логине ответ от сервера будет 302, при неудачном - 200.
 
Ответить с цитированием

  #10  
Старый 25.06.2009, 09:50
diznt
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
С нами: 9619229

Репутация: 445


По умолчанию

Цитата:
Сообщение от intNet  
Gar|k, не вижу разницы кроме различия в языках.
2 TC:
Снифай HTTP Analyzer'om, переходи на вкладку "stream", преобразовывай код к паскалевскому виду и шли. De-Visible делал также, никаких доп. данных он не прописывал.
Я Писал уже :

Сначала вкл. сниффер, логинишься на сайт(к примеру) и смотришь отпр. данные.
Копи-пастишь отправляемые данные в программу и пытаешься их отослать, сравниваешь заголовки. При удачном логине ответ от сервера будет 302, при неудачном - 200.
Ок... Решил все таки послать голый пакет (то есть который браузер передает)

Код:
 login:='SAVEURL=&SERVER=1&account=111111&pass=22222222&submit=%C2%EE%E9%F2%E8';
 se:='POST /cgi/l2isapi.dll/l2login HTTP/1.1'+#13#10+
     'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, */*'+#13#10+
     'Referer: http://www.lineage.ru/cgi/l2isapi.dll/l2login'+#13#10+
     'Accept-Language: ru'+#13#10+
     'Content-Type: application/x-www-form-urlencoded'+#13#10+
     'Accept-Encoding: gzip, deflate'+#13#10+
     'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Pivim Multibar; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ;  Embedded Web Browser from: http://bsalsa.com/; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)'+#13#10+
     'Host: www.lineage.ru'+#13#10+
     'Content-Length: 69'+#13#10+
     'Connection: Keep-Alive'+#13#10+
     'Cache-Control: no-cache'+#13#10+
     'Cookie: spylog_test=1'+#13#10+#13#10+login;
Все равно #400 bad request!

slesh ок спасибо поищу
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
#400 Bad request (WinSock)(Delphi) diznt Болталка 1 23.06.2009 20:00
Nik9 Sulf aka Joker Болталка 40 17.07.2006 16:28



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...