Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Indy.TidHTTP. Ошибка HTTP/1.1 302 Found [D7, XP]


vegarulez ©   (2014-03-17 03:41:00) 

Привет всем мастерам! не могу понять что случилось. до позавчерашнего дня всё работало долгие годы исправно позавчера что-то произошло видимо на сервере откуда забираю информацию по курсам валют - но что понять никак не могу ((( забираю курсы валют в xml вот отсюда
http://www.cbr.ru/scripts/XML_daily.asp

на первый взгляд там ничего не поменялось. но у меня кое где программа корректно отрабатывает, а кое где нет и не могу понять почему в некоторых местах выдаёт ошибку HTTP/1.0 302 Found при обращении к этому ресурсу за xml`ем а в некоторых нет. Подскажите, что делаю не так? уже всю голову поломал... (
 
 
 myHTTP:TIdHTTP;
 Source: TMemoryStream;
 Response: TStringStream;
 Response_Data:TStringlist;
....

myHTTP:=TIdHTTP.Create(nil);
myHTTP.ProtocolVersion:=pv1_1;

Response := TStringStream.Create('');
Source := TMemoryStream.Create;
Response_Data:=TStringlist.Create;
        //запрос
        myHTTP.Request.ContentType:='application/x-www-form-urlencoded';
myHTTP.Post(' http://www.cbr.ru/scripts/XML_daily.asp',Source,Response);
        myHTTP.Socket.CloseGracefully;
        myHTTP.Disconnect;   // дисконект от сервера
        Response_Data.Text:=Response.DataString;   // разбор ответа сервера

//ну и дальше пошёл собственно разбор уже полученного xml



по Exception при обращении отваливается вот с такой ошибкой:

HTTP/1.0 302 Found

заголовки

P3P: CP=NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM
Location: /scripts/XML_daily.asp
Set-Cookie: ddddddd=342def20ddddddd_342def20; Path=/


через браузер захожу - тот же самый xml что и был всегда.
Подскажите где тут собака порылась? Уже не знаю что делать, в какую сторону копать?
Заранее благодарен.


clickmaker   (2014-03-17 20:56:00) [1]

> Мишка? :)

жена полковника Вагина )


Dennis I. Komarov   (2014-03-17 20:24:00) [2]


> это все...   (17.03.14 19:45) [9]

Мишка? :)


это все...   (2014-03-17 19:45:00) [3]

зачем там вообще инди, если

xxx := CoDomDocument.create;
xxx.async := false;
xxx.load( http://www.cbr.ru/scripts/XML_daily.asp);
ShowMessage(xxx.xml);


vegarulez   (2014-03-17 14:43:00) [4]

function GetPageSource(AURL: string): string;
var
 AIdHTTP: TIdHTTP;
begin
 AIdHTTP := TIdHTTP.Create(nil);
 try
   Result := AIdHTTP.Get(AURL);
 finally
   AIdHTTP.Free;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
 var
 PageSource: string;
begin
 PageSource := GetPageSource(' http://www.cbr.ru/scripts/XML_daily.asp');
 Memo1.Lines.Append(PageSource);
end;


вроде пашет.... но странно всё же... это всё...


sniknik   (2014-03-17 14:38:00) [5]

> а что за параметр? подскажи?
а какие есть? перечисли... ломает смотреть.

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

что намекает на то, что у них его как не было так и нет. где-то в другом "ловишь", возможно как раз из "ловушки на взлом...". или все-таки пост "проблемный".


vegarulez   (2014-03-17 12:50:00) [6]

ухты   (17.03.14 12:41) [5]:
есть черный ящик есть входные и выходные проводки. так понятнее?
так сделано. гет через инди ту же ошибку вываливает. плавали знаем.
вся трабла не в пост или гет, а в том что ошибка вываливается. а до этого годами работало без проблем.


ухты   (2014-03-17 12:41:00) [7]


> потому что так сделано. по существу вопроса.
странная логика, там гет работает, да и документацию читать надо
ну как, по существу вопроса?


vegarulez   (2014-03-17 11:39:00) [8]

ухты   (17.03.14 09:47) [2]
а потому...
потому что так сделано. по существу вопроса.

clickmaker ©   (17.03.14 09:20) [1]
Ок спасибо посмотрю.

sniknik ©   (17.03.14 10:07) [3]
а что за параметр? подскажи?


sniknik   (2014-03-17 10:07:00) [9]

> кое где программа корректно отрабатывает
у инди есть параметр "разыменовывать" редиректы, само начинает обрабатывать, гдето стоит где-то нет...


ухты   (2014-03-17 09:47:00) [10]

а почему post?


clickmaker   (2014-03-17 09:20:00) [11]

302 - это редирект. Новый урл тебе надо прочитать в поле Location Response


Наверх

Титульная страница Поиск, карта сайта Написать письмо