0 / 0 / 0
Регистрация: 02.08.2012
Сообщений: 7

Ошибка при запросе: "http 1.1 302 moved temporarily"

30.08.2012, 00:37. Показов 10643. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
добрый день,форумчане!
я новичок, просьба не пинать.
Пишу бота для olike.ru и наткнулся на проблему:
после выполнения 4-го запроса выскакивает окошко с сообщением об ошибке(http 1.1 302 moved temporarily)
Не понимаю почему это происходит, а точнее не знаю что с этим делать.
Ниже кусок кода:
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
begin
/////создаем и настраиваим компоненты
cookie:=Tidcookiemanager.Create(self);
http := TIdHTTP.Create(self);
http.CookieManager:=cookie;
//freeze:=TIdAntiFreeze.Create(self);
http.AllowCookies := false;
http.HandleRedirects := False;
http.Request.Connection:='keep-alive';
http.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1';
try
////авторизовываемся но нас должно редеректить так как http.HandleRedirects := False;
link:=HTTP.get('http://vk.com/login.php?email='+l+'&pass='+p);
except
    if (http.ResponseCode=302) then begin ////проверяем если редирект тогда
      ////парсим кукусы
      uri := TIdUri.Create('http://vk.com');
      c := http.Response.RawHeaders.Text;
      i := Pos('remixlang', c) + 10;
      remixlang := Copy(c, i, length(c));
      remixlang := Copy(remixlang, 1, pos(';',remixlang)-1);
      i := Pos('remixchk', c) + 9;
      remixchk := Copy(c, i, length(c));
      remixchk := Copy(remixchk, 1, pos(';',remixchk)-1);
      i := Pos('remixsid', c) + 9;
      remixsid := Copy(c, i, length(c));
      remixsid := Copy(remixsid, 1, pos(';',remixsid)-1);
      ////добаляем их
      http.Request.CustomHeaders.Text := 'Cookie: remixlang='+remixlang+'; remixchk='+remixchk +'; remixsid='+remixsid;
      http.CookieManager.AddServerCookie('remixlang='+remixlang+'remixchk='+remixchk+'; remixsid='+remixsid,uri);
      link:=http.Get('http://vk.com/widget_auth.php?app=2924245&width=200px&url=http://olikefriends004.ru/olikelogin.php');
    hash:=copy(link,pos('window.authHash = ',link)+length('window.authHash = '),length(link));
    hash:=copy(hash,1,pos(';',hash)-1);
    Delete(hash,1,1);
    Delete(hash,length(hash),1);
    first_name:=copy(link,pos('target="_blank">',link)+length('target="_blank">'),length(link));
    first_name:=copy(first_name,1,pos(' ',first_name)-1);
    last_name:=copy(link,pos(first_name+' ',link)+length(first_name+' '),length(link));
    last_name:=copy(last_name,1,pos('</a>',last_name)-1);
    end;
    end;
 
 
     PostData:=TStringList.Create;
     PostData.Clear;
     PostData.Add('act=a_auth_user');
     PostData.Add('app=2924245');
     PostData.Add('hash='+hash);
     PostData.Add('url=http://olikefriends004.ru/vkform.php');
     link:=http.Post('http://vk.com/widget_auth.php',PostData);
     PostData.Free;
 
     uid:=copy(link,pos('[',link)+length('['),length(link));
     uid:=copy(uid,1,pos(',',uid)-1);
     hash:=copy(link,pos('"},"',link)+length('"},"'),length(link));
     hash:=copy(hash,1,pos('"]',hash)-1);
 
   // Delete(hash,1,1);
   // Delete(hash,length(hash),1);
   memo1.Lines.Add(uid);
   memo1.Lines.Add(hash);
   {////парсим кукусы
      uri := TIdUri.Create(link);
      c := http.Response.RawHeaders.Text;
      i := Pos('cDRGN', c) + 3;
      cDRGN := Copy(c, i, length(c));
      cDRGN := Copy(cDRGN, 1, pos(';',cDRGN)-1);}
      memo1.Lines.Add(cDRGN);
      ////парсим кукусы
      ////добаляем их
      http.Request.CustomHeaders.Text := 'Cookie: remixlang='+remixlang+'; remixchk='+remixchk +'; remixsid='+remixsid{+' ;remixreg_sid='+remixreg_sid};
      http.CookieManager.AddServerCookie('remixlang='+remixlang+'remixchk='+remixchk+'; remixsid='+remixsid{+' ;remixreg_sid='+remixreg_sid},uri);
  
      link:=http.get('http://olikefriends004.ru/olikelogin.php?uid='+uid+'&first_name='+first_name+'&last_name='+last_name+'&photo=http://vk.com/images/camera_a.gif&photo_rec=http://vk.com/images/camera_c.gif&hash='+hash);
     [COLOR="Red"]  // Здесь вылетает ошибка[/COLOR]
      link:=http.Get('http://olike.ru/login.php?uid='+uid+'&hash='+hash+'&');
Даже если я ставлю гет запрос в условие
if (http.ResponseCode=302) then begin
блбалаба
end;
то условие опять таки не выполняется. поэтому я не понимаю что сдесь делать. подскажите пожалуйста
 Комментарий модератора 
Теги кода исправлены модератором. Для оформления кода Delphi следует выделить этот код и на панели редактирования сообщения нажать кнопку: "DELPHI".
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.08.2012, 00:37
Ответы с готовыми решениями:

HTTP/1.0 302 Moved Temporarily
В Firemonkey Windows код работает, а вот под андроид нет :( выводит HTTP/1.0 302 Moved Temporarily может кто что посоветует ? :( ...

Moved Temporarily
Работаю с YouTube API.Получаю токен, отправляю видео и т.д. Все работает, но есть небольшая проблема: при отправке последнего запроса...

Ошибка при отправке файла в Http запросе
Уважаемые знатоки! Не могу найти решение в сети, а точнее не могу понять в чём у меня ошибка. Я отправляю бинарник в powerShell запросе. ...

3
210 / 169 / 24
Регистрация: 24.04.2012
Сообщений: 615
30.08.2012, 13:46
Цитата Сообщение от STALERUM Посмотреть сообщение
http.HandleRedirects := False;
Ты запретил редирект, поэтому и ошибка.
0
4 / 4 / 0
Регистрация: 30.06.2011
Сообщений: 175
18.09.2012, 23:31
а я не запрещал - и все равно такая ошибка увы
0
210 / 169 / 24
Регистрация: 24.04.2012
Сообщений: 615
18.09.2012, 23:49
302 Moved Temporarily — запрошенный документ временно доступен по другому URL, указанному в заголовке в поле Location.

В смысле ты не запрещал? Ты исправил и ошибка?
////авторизовываемся но нас должно редеректить так как http.HandleRedirects := False;
Это не так, чтоб редеректить должно быть True.
Твой код работает до link:=HTTP.get('http://vk.com/login.php?email='+l+'&pass='+p); если http.HandleRedirects := True;
Дальше я не вникал.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.09.2012, 23:49
Помогаю со студенческими работами здесь

Парсер яндекса, ошибка "HTTP/1.1 302 Found"
AnsiString str; TIdHTTP *Http1; Http1 = new TIdHTTP(NULL); try { Http1-&gt;Request-&gt;UserAgent = &quot;User-Agent NULL&quot;; ...

Авторизация HTTP/ Moved Permanently
procedure TForm1.Button1Click(Sender: TObject); var StrPage,ssylka:string; Log:TstringList; begin ...

Ошибка "HTTP/1.1 302 Found"
Здравствуйте, подскажите пожалуйста в чем ошибка? Выдает ошибку idhttp HTTP/1.1 302 Found. procedure TForm1.Button1Click(Sender:...

Http/1.1 302 Found
Доброго! Посоветуйте, год моя программа отлично работала с php скриптом.... а теперь ошибка как &quot;http/1.1 302 Found&quot; ...

Ошибка в http запросе
Такая ситуация... Пишу Get запрос серверу на главную страницу, т.е. просто его ip, он отвечает, что страница не существует (404 ошибка), но...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Динамические массивы в C++ - создание и использование
NullReferenced 27.04.2025
Динамические массивы представляют собой один из фундаментальных инструментов программирования на C++, позволяющий создавать структуры данных, размер которых определяется во время выполнения. . .
Асинхронный JavaScript: Промисы, Async/Await и Fetch API
Reangularity 27.04.2025
Пользователь заходит на веб-страницу, нажимает кнопку и. . . ничего не происходит. Сайт словно замер. Через несколько секунд всё внезапно оживает, но пользователь уже успел закрыть вкладку. Знакомая. . .
Management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab - CI/ CD in GitLab - VCS repository management in Visual Studio code (see attachments)
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru