Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> IdHTTP и Proxy не работает... не работает через прокси 
V
    Опции темы
firs70
  Дата 12.2.2007, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



Не получается запустить программку через прокси сервер (без прокси работает без проблем)...
Использую функцию IdHTTP ввожу там параметры прокси, всё без толку...
Подскажите, пожалуйста, может что не так делаю?

Использую эти функции:
user posted image

Вот скрин программки:
user posted image

Это код программы:
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient, IdHTTP;

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    IdAntiFreeze1: TIdAntiFreeze;
    Button1: TButton;
    StaticText1: TStaticText;
    StaticText2: TStaticText;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  lPos: integer;
  str, lRes: string;
begin
lRes := '';
with IdHTTP1 do begin
  Host := 'www.zeke.ru';
  Port := 80;
  Connect;
  try
     lRes := Get('http://www.zeke.ru/stats/');
  finally
    Disconnect;
  end;
end;
if lRes <> '' then
begin
     str:='';
     lPos:=Pos('Количество комментариев:',lRes);
     lPos:=lPos+1+StrLen('Количество комментариев:');
     while (lRes[lPos]<>' ') do
     begin
          str:=str+lRes[lPos];
          lPos:=lPos+1;
     end;
     StaticText2.Caption:=str;
end;

end;
end.



Ссылка на архив где лежит программка, исходник и видео с экрана как я что делаю и какая ошибка выскакивает...
Исходник+видео

Помогите пожалуйста!!!
PM MAIL   Вверх
MetalFan
Дата 12.2.2007, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



1) Обновить индей до последней версии
2) для работы через прокси юзать TidHTTP.ProxyParams. не вижу их у вас в коде. 

качать и смотреть имходник влом)


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
firs70
Дата 12.2.2007, 14:14 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



1) как и где обновить Indy? (нашёл вроде по ссылке http://downloads.atozed.com/indy/indy10.1.5_d7.exe последний, при установке указывает путь как отдельное приложение, а не в директорию делфи... Это нормально?)
2) приведите пример кода (если не сложно конечно) что куда ставить, пожалуйста!!!

Это сообщение отредактировал(а) firs70 - 12.2.2007, 14:38
PM MAIL   Вверх
MetalFan
Дата 12.2.2007, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



1) я пользуюсь последней из 9х индей версией (9.0.18) 
2) 
Код

idHTTP1.ProxyParams.ProxyServer := 'someproxy.com'
idHTTP1.ProxyParams.ProxyPort    := 8080;
memo1.lines.text := idHTTP1.Get('ya.ru');



--------------------
There are always someone smarter than you...
PM MAIL   Вверх
firs70
Дата 12.2.2007, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



1) А как обновить? просто скопировать что ли с заменой файлов? 
2) как это может с моей прогой фурычить?
 я так понимаю надо этот кусочек вставить вот так: 
Код

with IdHTTP1 do begin
//-----------------------------
  idHTTP1.ProxyParams.ProxyServer := '192.168.1.6' - адрес моего проксика
  idHTTP1.ProxyParams.ProxyPort    := 3128; - порт моего проксика
  memo1.lines.text := idHTTP1.Get('ya.ru'); <---- вот это только что я не пойму???
//------------------------
  Host := 'www.zeke.ru';
  Port := 80;
  Connect;
  try
     lRes := Get('http://www.zeke.ru/stats/');
  finally
    Disconnect;
  end;

Ещё бы авторизацию по логину и паролю сделать (сам код какой? idHTTP1.ProxyParams.ProxyUser и idHTTP1.ProxyParams.ProxyPassword так получается?)
PM MAIL   Вверх
Snowy
Дата 12.2.2007, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Код
  Host := 'www.zeke.ru'; // не нужно
  Port := 80; // не нужно
  Connect; // не нужно
  try
     lRes := Get('http://www.zeke.ru/stats/');
  finally
    Disconnect; // не нужно
  end;
Итого:
Код

  try
     lRes := Get('http://www.zeke.ru/stats/');
  except on E: Exception do
    lRes := 'Error: ' + E.Message;
  end;

PM MAIL   Вверх
aktuba
Дата 12.2.2007, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Snowy, а почему Connect/Disconnect не нужно? У меня в практике есть случаи, когда программа с ними работала, а без них нет... Или это зависит от версии Delphi? На что влияет?


--------------------
user posted image
PM MAIL WWW Skype   Вверх
firs70
Дата 13.2.2007, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



Ура, всё заработало!!! огромное спасибо!!!  smile   smile 
а как сделать что бы имя пользователя и пароль работали для прокси?

Это сообщение отредактировал(а) firs70 - 13.2.2007, 10:02
PM MAIL   Вверх
Budy
Дата 13.2.2007, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



firs70, удаляешь старые и обновляешь.
1) в Delphi меню "Component/Install Packeges". В списке выбираешь "Internet Direct (Indy) чегото там" (список по алфавиту, в конце списка почти), жмешь "Remove" - удалилось
2) запускаешь файл *.dpk для своей версии Delphi (об этом свидетельствует цифра, у меня это dclIndy70.dpk), запустиЦа Delphi, жмешь "Install", потом "OK"

Добавлено @ 10:02 
А если юзер в домене, как указывать логин и пароль в TidHTTP.ProxyParams?


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
firs70
Дата 13.2.2007, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



Budy, спасибо получилось обновить  smile 
Да вот а с именем пользователя и паролем что делать? smile
PM MAIL   Вверх
Budy
Дата 13.2.2007, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



firs70, у тебя юзер тоже в каком-то домене?


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
firs70
Дата 13.2.2007, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



У меня идёт аутентификация на прокси не только через IP и порт, но и через логин и пароль... Думаю что и для домена такая же будет авторизация...
Я разобрался! smile 
Код

  idHTTP1.ProxyParams.ProxyServer := '192.168.1.1';
  idHTTP1.ProxyParams.ProxyPort := 8080;
  idHTTP1.ProxyParams.ProxyUsername := 'user';
  idHTTP1.ProxyParams.ProxyPassword := 'pass';


Это сообщение отредактировал(а) firs70 - 13.2.2007, 10:41
PM MAIL   Вверх
Budy
Дата 13.2.2007, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Странно, я также делаю, однако не работает
Цитата

idHTTP1.ProxyParams.ProxyServer := 'proxy';
idHTTP1.ProxyParams.ProxyPort := 8080;
idHTTP1.ProxyParams.ProxyUsername := 'domen\username';
idHTTP1.ProxyParams.ProxyPassword := 'userpassword';



--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
firs70
Дата 13.2.2007, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



Budy, может попробовать имя пользователя по другому указать? (username@domen)

теперь интересует как пробиться на сайт такого плана: https://ssl. имя сайта/index.cgi
PM MAIL   Вверх
Snowy
Дата 13.2.2007, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Домен не нужно указывать.
Прокси автоматом настроен на доменную аутентификацию.
Поэтому домен подразумевается по умолчанию.

Добавлено @ 11:10 
Цитата(firs70 @  13.2.2007,  11:04 Найти цитируемый пост)
 как пробиться на сайт такого плана: https://ssl. имя сайта/index.cgi
Это уже совсем другой вопрос.
http://forum.vingrad.ru/topic-63257/view-all.html
PM MAIL   Вверх
firs70
Дата 13.2.2007, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



Snowy, Спасибо сейчас поглазею  smile 
PM MAIL   Вверх
firs70
Дата 13.2.2007, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



оооохххх, как же там туго всё воспринимается...
там есть код а куда его вставлять я так и не понял... были бы исходники и прога работающая было бы вообще великолепно...
Да и еёш вопрос прокси прописывать так же как и для моей проги?
Вот так?
idHTTP1.ProxyParams.ProxyServer := '';
idHTTP1.ProxyParams.ProxyPort := ;

PM MAIL   Вверх
firs70
Дата 13.2.2007, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



Ребят, я наверное слишком наглый, НО не могли бы вы сделать подробное описание (а ещё лучше исходник) как сделать следующие вещи:
1. необходимо перейти по ссылке: https://ssl.rapidshare.com/cgi-bin/collectorszone.cgi
имея ввиду что выход в интерент будет через прокси сервер (я подозреваю что там будет такая же авторизация как и на предыдущей программке).
2. произвести аутентификацию: логин - delphi-test, пароль - 321789.
3. зайти на сайт и взять число поинтов (отмечены на рисунке красным прямоугольником).
user posted image

и показать как в моей программке.
PM MAIL   Вверх
Snowy
Дата 13.2.2007, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Такс. Добил.
Заодно оттестил свой модуль smile
Код такой:
Код

uses  C_Http; // мой модуль - забиралка

type

  TForm1 = class(TForm)
    btn1: TButton;
    procedure btn1Click(Sender: TObject);
  private
    http: TSwHttp;
    procedure OnWorkEnd(Sender: TSwHttp);
  end;

......

procedure TForm1.btn1Click(Sender: TObject);
begin
  if http = nil then http := TSwHttp.Create(Self); // создаём экземпляр моей http лазалки
  http.url.url := 'https://ssl.rapidshare.com/cgi-bin/collectorszone.cgi'; // задаём адрес
  http.Agent := 'Opera/9.10 (Windows NT 5.1; U; ru)'; // задаём имя клиента (не обязательно)
  http.Referer := http.url.url; // задаём реферер равный адресу (возможно не обязательно)
  http.PostData := 'username=delphi-test&password=321789'; // задаём POST запрос форме
  http.OnWorkEnd := OnWorkEnd; // при окончании загрузки вернуть всё в этот метод
  http.Request; // послать запрос
end;

procedure TForm1.OnWorkEnd(Sender: TSwHttp); // сюда возвращается результат
const ss = 'You have collected <b>'; // строка, по которой ищем
var
  s: string;
  i,c: integer;
begin
  if http.Error > 0 then ShowMessage('Error ' + IntToStr(http.Error) + ' ' + SysErrorMessage(http.Error)) // если ошибка
  else begin
    SetLength(s, http.Response.Size); // забираем страницу в строку
    http.Response.Read(s[1], Length(s));
    i := Pos(ss, s); // ищем строку "You have collected <b>"
    if i = 0 then i := -1 // не нашли? Тогда результат = -1 - вернулась не такая страница
    else begin
      s := Copy(s, i + Length(ss), 12);
      Val(s, i, c); // превращаем найденое число из строки в integer
    end;
    ShowMessage(IntToStr(i)); // И вот оно наше число!
  end;
end;

В аттаче мой модуль и тестовый проект.

Присоединённый файл ( Кол-во скачиваний: 50 )
Присоединённый файл  snowy_https_post.zip 4,30 Kb
PM MAIL   Вверх
firs70
Дата 13.2.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



Спасибо, всё работает!
Только вот почему настройки прокси я не увидел? что за такой хтирый ход? отку да то берётся что ли настроечки?
раскройте карты  smile 
PM MAIL   Вверх
Snowy
Дата 13.2.2007, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Настроечки берутся из IE smile
PM MAIL   Вверх
firs70
Дата 13.2.2007, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



То есть если IE не настроено, работать не будет?
У меня просто дома я работаю только через оперу и ещё у меня там логин и пароль спрашивает... выходит не будет работать так?
PM MAIL   Вверх
Snowy
Дата 13.2.2007, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Если IE не настроен, то нет.
Настройку прокси я ещё не сделал.
Хотя... Где-то наброски у меня валялись.
Но пока проверить не на чем.
Дома прокси имеется - там проверю.
Заодно и с логином и паролем разберусь.
PM MAIL   Вверх
firs70
Дата 14.2.2007, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



а с логином и паролем не заработала у меня дома  smile 
вот так не катит, ни в первой ни во второй программке
Код

  idHTTP1.ProxyParams.ProxyServer := '192.168.1.1';
  idHTTP1.ProxyParams.ProxyPort := 8080;
  idHTTP1.ProxyParams.ProxyUsername := 'user';
  idHTTP1.ProxyParams.ProxyPassword := 'pass';


PM MAIL   Вверх
Snowy
  Дата 14.2.2007, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Добил компонент, но работу с прокси пока не тестировал.
Попробуй. Могет получится.
Теперь это компонент и его можно бросить на форму.
Доку пока не делал - только-только его дописал.

Брось его на форму.
Заполни параметры Proxy и Request.
Запуск запроса - DoRequest или Get или Post - как удобнее. По сути это одно и то же, только адрес и post в коде, а не в инспекторе прописываются.
Создай обработчик OnWorkEnd
В нём получишь результат:
Sender.Error = 0 - значит всё нормально, иначе не получилось.
Sender.Response - здесь результат - разберёшься smile
Вот простой пример:
Код

procedure TForm1.FormCreate(Sender: TObject);
begin
  SwinHttp1.Get('http://snowy.delphist.com/');
end;

procedure TForm1.SwinHttp1WorkEnd(Sender: TSwinHttp);
begin
  if Sender.Error = 0 then
  begin
    Memo1.Lines.Text := Sender.Response.Headers.Text;
    Memo2.Lines.Text := Sender.Response.Body;
  end else Memo2.Lines.Text := 'Error: ' + IntToStr(Sender.Error);
end;


Присоединённый файл ( Кол-во скачиваний: 34 )
Присоединённый файл  SwinHttp.zip 4,60 Kb
PM MAIL   Вверх
Lence
Дата 19.2.2007, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чухарадземадзупэ
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 9.5.2006
Где: Ташкент

Репутация: нет
Всего: 3



Snowy, каким образом через ваш компонент отправить данные методом ПОСТ ? 

нужно передать переменой H параметр - все что находится в memo1
делаю так 

Код

var
a: string;
begin
 a:= ('H='+memo1.Text);
 SwinHttp1.Post('www.site.com/script.pl',a);


данные не принимаются. 
--------------------
Шуруп, забитый молотком, крепче сидит чем гвоздь, закрученный отверткой ....  
PM MAIL ICQ Skype   Вверх
Snowy
Дата 19.2.2007, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Нужно указывать полный адрес: SwinHttp1.Post('http://www.site.com/script.pl', a);
Кроме того, компонент сам не кодирует post данные (url-кодирование) - это необходимо делать вручную.
PM MAIL   Вверх
Lence
Дата 19.2.2007, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чухарадземадзупэ
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 9.5.2006
Где: Ташкент

Репутация: нет
Всего: 3



Цитата(Snowy @ 19.2.2007,  15:04)
Нужно указывать полный адрес: SwinHttp1.Post('http://www.site.com/script.pl', a);
Кроме того, компонент сам не кодирует post данные (url-кодирование) - это необходимо делать вручную.

Спасибо за ответ! сейчас сделаю полный путь, а каким образом делать url-кодирование ? 

Методом Get чтото тоже данные не принимаются, скрипты выдает сообщение что параметры не приняты (((

Это сообщение отредактировал(а) Lence - 19.2.2007, 15:20
--------------------
Шуруп, забитый молотком, крепче сидит чем гвоздь, закрученный отверткой ....  
PM MAIL ICQ Skype   Вверх
Snowy
Дата 19.2.2007, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Цитата(Lence @  19.2.2007,  15:12 Найти цитируемый пост)
а каким образом делать url-кодирование ? 
Ну, примерно так:
Код

function UrlEncode(s: string):string;
var i: integer;
begin
  result:='';
  for i:=1 to Length(s) do
    if (s[i] in ['A'..'z']) or (s[i] in ['-'..'0']) then result:=result+sl[i]
    else result:=result + '%' + IntToHex(ord(s[i]),2);
end;

PM MAIL   Вверх
Lence
Дата 19.2.2007, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чухарадземадзупэ
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 9.5.2006
Где: Ташкент

Репутация: нет
Всего: 3



Чтото не получается ...  smile скрипт все равно возвращет ошибку smile 

Код

function UrlEncode(s: string):string;
var i: integer;
begin
  result:='';
  for i:=1 to Length(s) do
    if (s[i] in ['A'..'z']) or (s[i] in ['-'..'0']) then result:=result+s[i]
    else result:=result + '%' + IntToHex(ord(s[i]),2);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 SwinHttp1.Get('http://www.site.com/cgi-bin/script.pl?h='+UrlEncode(memo1.Lines.Text));
 
end;

--------------------
Шуруп, забитый молотком, крепче сидит чем гвоздь, закрученный отверткой ....  
PM MAIL ICQ Skype   Вверх
aktuba
Дата 19.2.2007, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Lence, сравни что отправляет браузер и что отправляет программа. Скорее всего будут различия...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Snowy
Дата 19.2.2007, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Угу. Ошибочка была.
Забыл эктраинформацию передать.
Приклеиваю поправленную версию.

Присоединённый файл ( Кол-во скачиваний: 113 )
Присоединённый файл  SwinHttp.zip 4,62 Kb
PM MAIL   Вверх
Lence
Дата 20.2.2007, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чухарадземадзупэ
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 9.5.2006
Где: Ташкент

Репутация: нет
Всего: 3



Snowy,  Ваш компонент реально может заменить idHTTP ??? 
Очень хорошо бы доку по компоненту ... с примерчиками smile 

Спасибо!
--------------------
Шуруп, забитый молотком, крепче сидит чем гвоздь, закрученный отверткой ....  
PM MAIL ICQ Skype   Вверх
Snowy
Дата 20.2.2007, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Дока будет позже.
Компонентик ещё не оттестин.
Работа с прокси вообще не проверялась.
Сначала нужно доработать, а потом и доку нарисую.
Не раньше выходных...

Добавлено @ 15:41 
Цитата(Lence @  20.2.2007,  14:54 Найти цитируемый пост)
Ваш компонент реально может заменить idHTTP ??? 
Вообще изначально он создавался для работы с https без дополнительных библиотек.
Но и с http соответственно умеет работать без проблем.
Реализует он только функционал транспорта.
то есть по урлу передать запрос и получить содержимое.
Никаких перекодировок и разбора полученного ответа не делает.
Хотя для этого по идее можно прикрутить разборщики от Indy.
Также он не умеет автоматически делать редиректы, т.к. не анализирует содержимого.
Также нет менеджера печенья - он только может получить и отправить печенье, но автоматом он этого не делает.
То есть реализует только транспортную работу. Никакого интеллекта в него не заложено. Вся логика пишется ручками.
При желании можно будет будет написать и автологику, обёртки, интерсепторы и т.д.
А в данном виде это чистый транспорт. Зато лёгкий.
По функционалу способен работать как IdHTTP, так и асинхронно (асинхронный режим включен по умолчанию, но отключается простым снятием флага InThread).
Асинхронность поточная.
Позже также будет реализована версия для KOL (ибо компонентик лёгкий - отлично подходит для маленьких программ).

Данный компонент является первым (как наиболее востребованный) в библиотеке.
Пилотное название библиотеки - SWIn. В дальнейшем появится TSwinFTP. А позже - по обстоятельствам.
Скорее всего будет ещё TSwinHttpServer. Все компоненты будут также в версии для KOL.
Сами компоненты и документация будут выложены на страничке проекта. (страничка пока не существует, т.к. это пока пилотный экземпляр).
PM MAIL   Вверх
Lence
Дата 20.2.2007, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чухарадземадзупэ
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 9.5.2006
Где: Ташкент

Репутация: нет
Всего: 3



Мне Ваш компонент понравился..  для приема и отправки очень даже подходит. Понравилось что есть поточность - прога не виснет при запросах ... Буду ждать новое дополнение !!!! Напишите здесь как будут новости !!! Спасибо большое !!!  smile 
--------------------
Шуруп, забитый молотком, крепче сидит чем гвоздь, закрученный отверткой ....  
PM MAIL ICQ Skype   Вверх
firs70
Дата 27.2.2007, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



я сделал правда не на индиа на synapse. тему можно закрывать
PM MAIL   Вверх
dVital
Дата 25.7.2007, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 21.6.2007

Репутация: нет
Всего: нет



У меня есть маленькая проблема, при выполнении этого кода может возникать ошибка и мне нужно ее правильно обрабатывать. Только обработчик try - except почему-то не обрабатывает, а вываливается дельфевское окошко с ошибкой. 

Код



procedure TForm1.Button1Click(Sender: TObject);
 var
 Stream: TStringStream;
 response: string;
begin

 Label1.Caption := '';
 Stream := TStringStream.Create('');
 IdHTTP1.ProxyParams.ProxyServer := Edit2.Text;
 IdHTTP1.ProxyParams.ProxyPort := strtoint(Edit3.Text);
 try
  response := IdHTTP1.post(Edit1.Text, Stream);
  except
    on E: Exception do Label1.Caption := E.Message;
  end;
  Label1.Caption := response;
end;



Подскажите, может кто знает в чем моя проблема..
PM MAIL   Вверх
aktuba
Дата 25.7.2007, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



dVital

1. Задавай вопросы в отдельном топе!!!
2. Проблема давно известная и по поиску ты бы давно нашел решение. Попробуй запусти программу не из Делфи, а отдельно или отключи вывод ексепшенов Инди...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Демо
Дата 25.7.2007, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 3
Всего: 50



+ для прокси надо указать метод авторизации.


--------------------
    
PM MAIL ICQ Skype   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1603 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.