Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 15.02.2013
Сообщений: 5
1

Получение заголовка сайта

05.08.2014, 20:08. Показов 783. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вопрос такой. Имеется код (работающий) для получения заголовка сайта по его адресу, сейчас я хочу сделать, массовую обработку веб-адресов, допустим на входе будет текстовый файл с 1000 адресов сайтов, а на выходе должен получиться текстовый файл с 1000 их заголовков. Но вот столкнулся с одной проблемой, дело в том, что среди адресов, имеются поисковые запросы (например http://www.nigma.ru/index.php?... 0%BA%D0%B5), в которых длинна адреса больше чем 255 символов, вот тут то и влазит ошибка при компиляции! Да и если будет массовая обработка, то придётся использовать переменную string, в которой помещается 255 символов, попробовал я туда впихнуть переменную WideString - компиляция прошла успешно, но программа потом всё равно вызвала ошибку.
Второй вопрос, почему программа вызывает ошибку, когда попадается либо не работающий сайт, либо сайт где требуется авторизация (напр. http://vk.com/im), либо сайт, где стоит протокол не http, а https (напр. https://play.google.com/store/... 2520screen), и как это можно исправить? СПАСИБО.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    IdHTTP1: TIdHTTP;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
t: string;
f: textfile;
begin
assignfile(f, 'c:\titles.txt');
rewrite(f);
//s:=IdHTTP1.Get('http://ru.savefrom.net/');
s:=IdHTTP1.Get('http://www.nigma.ru/index.php?t=web&ng=1&startpos=0&s=%D1%81%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C+Delphi+7+%D1%82%D0%BE%D1%80%D1%80%D0%B5%D0%BD%D1%82&k=KDMj&rg=t%3D%D0%9C%D0%B8%D0%BD%D1%83%D1%81%D0%B8%D0%BD%D1%81%D0%BA_c%3D%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F_&rg_view=%D0%9C%D0%B8%D0%BD%D1%83%D1%81%D0%B8%D0%BD%D1%81%D0%BA%D0%B5');
t:=Copy(s, pos('<title>', s) + 7, pos('</title>', s) - pos('<title>', s) -7);
Label1.Caption:=t;
write(f, t);
closefile(f);
end;
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.08.2014, 20:08
Ответы с готовыми решениями:

Получение заголовка сайта (кодировка)
Хочу получить заголовок сайта. Заголовок возвращается, но в непонятной кодировке. Побывал...

Получение с сайта заголовка Referer для последующей отправки его на сайт
Подскажите каким способом можно прослушать и вернуть сайту заголовок Referer , что бы не...

Получение заголовка
Отправляю вот такой post запрос: POST /test.php HTTP/1.1 Cache-Control: no-cache Connection:...

Получение токена из заголовка HTTP
Добрый день! Как можно получить токен из заголовка запроса? Header(&quot;Authorization: Bearer &quot; ....

2
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
05.08.2014, 20:17 2
Использовать IdHTTPS и Synapce. По идеи idHTTPS должен поддерживать и HTTP-протокол.
0
пофигист широкого профиля
4735 / 3168 / 860
Регистрация: 15.07.2013
Сообщений: 18,255
05.08.2014, 20:50 3
Цитата Сообщение от smirnov887 Посмотреть сообщение
в которых длинна адреса больше чем 255 символов, вот тут то и влазит ошибка при компиляции!
Delphi
1
2
3
4
5
s:=IdHTTP1.Get('http://www.nigma.ru/index.php?t=web&ng=1&startpos=0&s=%D1%81%D0%BA%D0%B0'+
'%D1%87%D0%B0%D1%82%D1%8C+Delphi+7+%D1%82%D0%BE%D1%80%D1%80%D0%B5%D0%BD%D1%82&k=KDMj&'+
'rg=t%3D%D0%9C%D0%B8%D0%BD%D1%83%D1%81%D0%B8%D0%BD%D1%81%D0%BA_c%3D%D0%A0%D0%BE%D1'+
'%81%D1%81%D0%B8%D1%8F_&rg_view=%D0%9C%D0%B8%D0%BD%D1%83%D1%81%D0%B8%D0%BD%D1%81'+
'%D0%BA%D0%B5');
И никаких ошибок при компиляции.
0
05.08.2014, 20:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.08.2014, 20:50
Помогаю со студенческими работами здесь

Получение дескриптора и заголовка окна
Вопрос такой, как правильно из Long выводить данные? Imports System.Runtime.InteropServices...

Получение окна заголовка на новой строке
Мне нужна ваша помощь :) Как вывести название нового заголовка активного окна в текстбоксе, на...

Получение высоты заголовка колонна в dataGridView
Ситуация такая. Есть dataGridView, в котором названия колонн прописываются программно. Так же...

Системные вызовы. Получение заголовка консольного окна
Всем доброй ночи! Скоро сессия у тут, наверное очень много постов с просьбой студентов помочь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru