Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 28.07.2009, 23:03   #1
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость Как заюзать прокси

Ситуация такова: есть proxies.txt(прокси-лист), есть форма, на которой расположена кнопка, клик по которой дает смену ип(берем прокси из proxies.txt)...
Задумка: в предвидущей теме "Скачивание файла", я хотел организовать скичивание файла через подмену ип проксями...
Тойсть, мы нажимаем кнопку в едите показуеться какой ип мы юзаем, и что бы ип менялся наверняка...
Сам вот нашел, что то связаное с webbrouser`om:
Код:
uses
 urlmon, wininet;

var
  PIInfo: PInternetProxyInfo;
begin
  New(PIInfo);
  PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
  //  Изменение  настроек ПРОКСИ
  PIInfo^.lpszProxy := PChar('127.0.0.1:8080');

  PIInfo^.lpszProxyBypass := PChar('');
  //  Список адресов, доступ к которым возможен минуя Proxy сервер

  UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo,
    SizeOf(Internet_Proxy_Info), 0);

    Dispose(PIInfo);
Есть идеи? Жду советов...
Lemo вне форума   Ответить с цитированием
Старый 28.07.2009, 23:32   #2
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Для IdHTTP
Код:
s:=123.123.123.123:8080
I:= pos(':', s);
IdHttp1.ProxyParams.ProxyServer:=copy(s, 1, I-1);
idHttp1.ProxyParams.ProxyPort:=StrToInt(copy(s, I + 1, Length(s)));

Последний раз редактировалось Viteef; 29.07.2009 в 01:18.
Viteef вне форума   Ответить с цитированием
Старый 29.07.2009, 15:04   #3
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

1)

Вот нашел статью ""Скачать файл используя прокси"
В итоге вышел код:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
uses wininet;
  function DownloadFile(const FileURL, FileName: String): Cardinal;
var
  hSession, hFile: HInternet;
  Buffer: array[1..1024] of Byte;
  BufferLen, fSize: LongWord;
  f: File;
begin
  Result := 0;
  hSession := InternetOpen('STEROID Download',
                           INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  if Assigned(hSession) then begin
    hFile := InternetOpenURL(hSession, PChar(FileURL), nil, 0,
                             INTERNET_FLAG_RELOAD, 0);
    if Assigned(hFile) then begin
      AssignFile(f, FileName);
      Rewrite(f,1);
      fSize := 0;
      repeat
        InternetReadFile(hFile, @Buffer, SizeOf(Buffer), BufferLen);
        BlockWrite(f, Buffer, BufferLen);
        fSize := fSize + BufferLen;
      until (BufferLen = 0);
      CloseFile(f);
      Result := fSize;
      InternetCloseHandle(hFile);
    end;
    InternetCloseHandle(hSession);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
DownloadFile('http://some.com/some.zip', 'c:\some.zip');
end;

end.
Качает, это уже радует... Укажите плз на строки, которые отвечают за прокси...


2)
Вот еще код(статья Свои настройки Proxy в программе с TWebBrowser ):

Код:
....
uses urlmon, wininet;

var
  PIInfo: PInternetProxyInfo;
begin
  New(PIInfo);
  PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
  //  Изменение  настроек ПРОКСИ
  PIInfo^.lpszProxy := PChar('some.proxy:someport');
  //  указать  прокси  напр.
  195.43.67.33: 8080
  PIInfo^.lpszProxyBypass := PChar('');
  //  Список адресов, доступ к которым возможен минуя Proxy сервер

  UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo,
    SizeOf(Internet_Proxy_Info), 0);

    Dispose(PIInfo);
В какой процедуре вебброузера это нужно описывать?

3)
Как проверить используються прокси (только навернека) или нет?

Последний раз редактировалось Lemo; 29.07.2009 в 17:49.
Lemo вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как Использовать прокси - сервер... Phantom Работа с сетью в Delphi 6 12.04.2009 14:35
Как установить соединение через прокси-сервер kadet Общие вопросы по Java, Java SE, Kotlin 0 23.03.2009 01:57
Как обойти защиту от прокси? mimitron Свободное общение 4 05.03.2009 11:18
Как использовать прокси? Adm Работа с сетью в Delphi 6 14.10.2008 09:18
Соединение с FTP через HTTP прокси с поддрержкой ФТП, как??? Relaxxx Работа с сетью в Delphi 3 22.06.2007 15:51


14:06.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.