Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2014, 22:11   #11
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Трассировка.

tracert к любому внешнему хосту, скажем, к ya.ru даст во втором шаге либо промежуточный шлюз вашего прова, либо самого прова.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 21.04.2014, 11:30   #12
Smagulov85
Форумчанин
 
Аватар для Smagulov85
 
Регистрация: 22.11.2009
Сообщений: 142
По умолчанию

Ну как-то так! Грязно, но работает!! мог ошибиться.

Код:
unit main;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdHTTP, IdCookieManager, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Memo1: TMemo;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    procedure myipCook(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  HTTP: TIdHTTP;
  Cook :TidCookieManager;
  myip : TStringStream;
  myMemo: TMemo;
  ck, c, myipg, myipg2, inetp, urlinet, trinet : string;

implementation

{$R *.dfm}

function Pars(T_, ForS, _T: string): string;
var
  a, b: integer;
begin
  Result := '';
  if (T_ = '') or (ForS = '') or (_T = '') then
    Exit;
  a := Pos(T_, ForS);
  if a = 0 then
    Exit
  else
    a := a + Length(T_);
  ForS := Copy(ForS, a, Length(ForS) - a + 1);
  b := Pos(_T, ForS);
  if b > 0 then
    Result := Copy(ForS, 1, b - 1);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
myipCook(Sender);
end;

procedure TForm1.myipCook(Sender: TObject);
begin
  HTTP:=TIdHTTP.Create(self);
  Cook:=TidCookieManager.Create(HTTP);
  myip := TStringStream.Create('');
  HTTP.AllowCookies:=true;
  HTTP.CookieManager:=Cook;
  HTTP.Request.Host:='2ip.ru';
  HTTP.Request.Connection:='keep-alive';
  HTTP.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
  HTTP.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36';
  HTTP.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4';
  HTTP.Get('http://2ip.ru/', myip);
  myipg:=UTF8toANSI(myip.DataString);
  HTTP.Response.RawHeaders.Extract ('Set-Cookie', Memo1.Lines);
  c:=Memo1.Text;
  ck:=Copy(c, 1, Pos('; path=/', c) - 1);
  Delete(myipg, 1, Pos('<th>Имя вашего компьютера:</th>', myipg) + Length('<th>Имя вашего компьютера:</th>') - 1);
  myipg2:=Copy(myipg, 1, Pos('</table>', myipg) - 1);

  Delete(myipg2, 1, Pos('<span class="ip-info-entry__value">', myipg2) + Length('<span class="ip-info-entry__value">') - 1);
  Label8.Caption:=Copy(myipg2, 1, Pos('</span>', myipg2) - 1);

  Delete(myipg2, 1, Pos('<span class="ip-info-entry__value">', myipg2) + Length('<span class="ip-info-entry__value">') - 1);
  Label9.Caption:=Copy(myipg2, 1, Pos('</span>', myipg2) - 1);

  Delete(myipg2, 1, Pos('<span class="ip-info-entry__value">', myipg2) + Length('<span class="ip-info-entry__value">') - 1);
  Label10.Caption:=Copy(myipg2, 1, Pos('</span>', myipg2) - 1);

  Delete(myipg2, 1, Pos('<a title="Посмотреть точное место на карте" href="/geoip/"/?'+ck+'>', myipg2) + Length('<a title="Посмотреть точное место на карте" href="/geoip/"/?'+ck+'>') - 1);
  Label11.Caption:=Copy(myipg2, 1, Pos('</a>', myipg2) - 1);

  Delete(myipg2, 1, Pos('<span class="ip-info-entry__value">', myipg2) + Length('<span class="ip-info-entry__value">') - 1);
  inetp:=Copy(myipg2, 1, Pos('</span>', myipg2) - 1);

  urlinet:=pars('<a href="', inetp, ck+'">' );
  trinet:=pars('<a href="'+urlinet+ck+'">',inetp, '</a>' );
  Label12.Caption:=Trim(trinet);

  Delete(myipg2, 1, Pos('<span class="ip-info-entry__value">', myipg2) + Length('<span class="ip-info-entry__value">') - 1);
  Label13.Caption:=Copy(myipg2, 1, Pos('</span>', myipg2) - 1);
end;

end.
Изображения
Тип файла: png ScreenShot 34.png (21.1 Кб, 94 просмотров)
Если помог: Нажми Весы и оставь отзыв!!!
Smagulov85 вне форума Ответить с цитированием
Старый 03.05.2014, 12:42   #13
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 248
По умолчанию

почему не так?
Изображения
Тип файла: jpg screen.JPG (79.0 Кб, 142 просмотров)
Вложения
Тип файла: zip Project1.zip (8.5 Кб, 8 просмотров)
AppData вне форума Ответить с цитированием
Старый 05.05.2014, 10:36   #14
Smagulov85
Форумчанин
 
Аватар для Smagulov85
 
Регистрация: 22.11.2009
Сообщений: 142
По умолчанию

Цитата:
Сообщение от AppData Посмотреть сообщение
почему не так?

Сделай так! и все ок будет

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 memo1.Clear;
 myipCook(Sender);
end;
!
Если помог: Нажми Весы и оставь отзыв!!!
Smagulov85 вне форума Ответить с цитированием
Старый 07.05.2014, 19:38   #15
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 248
По умолчанию

точно, спасибо
AppData вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Спарсить местоположение с 2ip.ru AppData Работа с сетью в Delphi 4 17.04.2014 09:26
2ip.ru - Скорость интернет соединения _ZixeL_ Работа с сетью в Delphi 6 02.12.2012 14:10
работа с 2ip.ru и логами mroff Работа с сетью в Delphi 2 27.02.2012 00:09
выташить ссылки, работа с текстом Univerce =) Общие вопросы Delphi 20 11.01.2010 22:07
как из EXE файла ...выташить сам проект(код,Project,Unit)??? ivp88 Общие вопросы Delphi 5 18.03.2007 23:41