0 / 0 / 0
Регистрация: 06.03.2016
Сообщений: 51
1

Ошибка в коде и ошибка HTTP 400

06.03.2016, 23:57. Показов 1491. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здарова всем, у меня тут проблема случилась, я только начинаю программировать.
Выдает ошибку HTTP Error 400, проблему нашел, заключалась в том, что к куки и к этой строке 'data=' добавлялись еще одни тексты и так далее, пока дело не доходило до этой ошибки.
Может кто поможет переделать код? Заранее спасибо!
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
procedure TForm1.Button1Click(Sender: TObject);
var
i, rez:integer;
info:Tstringlist;
p:Tstringlist;
HTTP: TIdHTTP;
 
begin
info:=tstringlist.Create;
p:=tstringlist.Create;
Memo2.Clear;
Label1.Caption:=inttostr(0);
Label2.Caption:=inttostr(0);
ProgressBar1.Max:=Memo1.Lines.Count;
ProgressBar1.Position:=0;
HTTP := TIdHTTP.Create(nil);
HTTP.HandleRedirects:=false;
for i:=0 to Memo1.Lines.Count-1 do
begin
  HTTP.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36';
  HTTP.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
  HTTP.Request.AcceptLanguage:='ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
  HTTP.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
  HTTP.Request.CustomHeaders.Add('Cookie: '+Memo3.Lines.Strings[i]);
  HTTP.Request.ContentType:='application/x-www-form-urlencoded';
  info.Add('action=code');
  info.Add('data='+Memo1.Lines.Strings[i]);
  p.Text:=HTTP.Post('http://Тут.типо/сайт/чтото.php', info);
  if Pos('success', p.Text)<>0 then
  begin
Rez:=1;
Memo2.Lines.Add(Memo1.Lines.Strings[i]+' Отлично!');
end
else
begin
Rez:=-1;
end;
 
 
begin
 case rez of
 
1: begin
Form1.Label1.Caption:=inttostr(StrToInt(Form1.Label1.Caption)+1);
Form1.ProgressBar1.Position:= Form1.ProgressBar1.Position+1;
end;
-1: begin
Form1.Label2.Caption:=inttostr(StrToInt(Form1.Label2.Caption)+1);
Form1.ProgressBar1.Position:= Form1.ProgressBar1.Position+1;
end;
  end;
 end;
end;
begin
       HTTP.Free;
     info.Free;
end;
 
 end;
 end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.03.2016, 23:57
Ответы с готовыми решениями:

Ошибка: HTTP/1.1 400 BadRequest
Доброе время суток! Столкнулся с такой проблемой. Программа перестала работать, выдается ошибка:...

Ошибка при добавлении данных HTTP Status 400 Bad Request
Добрый день! Столкнулся с новой проблемой, при добавлении данных вылезает данная ошибка. Вроде как...

Ошибка в коде взаимодействия клиента и сервера на основе протокола TCP/IP (ошибка в коде)
Задание: Осуществить взаимодействие клиента и сервера на основе протокола TCP/IP. Реализовать...

IIS- asp ошибка: HTTP 500.100 - Внутренняя ошибка сервера - ошибка ASP Internet Information Services
Привет! Конфигурация win2000pro sp2, стандартный IIS, IE 5. При попытке обратиться к...

4
5538 / 4323 / 1383
Регистрация: 14.04.2014
Сообщений: 19,386
Записей в блоге: 19
07.03.2016, 03:52 2
перед строкой 26
info.clear;

Добавлено через 2 минуты
предположу, что перед строкой 20
HTTP.Request.CustomHeaders.Clear;
1
0 / 0 / 0
Регистрация: 06.03.2016
Сообщений: 51
07.03.2016, 11:47  [ТС] 3
Спасибо! С командой 'info.clear;' все работает, не дублирует текст, а вот с куками беда, они теперь вообще очищаются.
0
17 / 17 / 4
Регистрация: 20.08.2010
Сообщений: 128
07.03.2016, 14:20 4
В начале составления заголовков делай очистку..
Delphi
1
HTTP.Request.Clear;
1
0 / 0 / 0
Регистрация: 06.03.2016
Сообщений: 51
07.03.2016, 23:39  [ТС] 5
Проблема еще не решена

Добавлено через 41 минуту
Куки не дублируются, в запросе добавляется строка 'Cookie: ' И в ней больше ничего не пишется, как от нее избавиться? Из за нее ошибка появляется.

Добавлено через 8 часов 21 минуту
Проблему решил! Просто надо было вместо
Delphi
1
HTTP.Request.CustomHeaders.Add('Cookie: '+Memo3.Lines.Strings[i]);
написать вот это
Delphi
1
HTTP.Request.CustomHeaders.Add('Cookie: '+Memo3.Lines.Strings[0]);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2016, 23:39
Помогаю со студенческими работами здесь

Запрос через http - HTTP Error 400
Добрый день Есть запрос, который хотим отправлять через http ВЫБРАТЬ...

Ошибка HTTP 500 - внутреняя ошибка сервера при отправке почты.
Я пытаюсь отправить почту и присоединяю к ней письма Вот часть страницы Dim myMail Set myMail =...

При создании класса в проекте, после сборки появляется ошибка Ошибка HTTP 403.14 - Forbidden.
Сайт только начинаю делать. БД подключена, данные выводятся. При создании класса в проекте, после...

ошибка Ошибка HTTP 403.14 - Forbidden Веб-сервер настроен таким образом, чтобы не формировать списка содержимого каталога
вообщем создаю тупо пустой веб сайт ничего в нем не меняю и не трогаю запускаю,получаю такую...

Ошибки Synapse (HTTP/1.1 400 Bad Request / HTTP/1.1 413 Request Entity Too Large)
Добрый день. При работе с Synapse начали возникать вот такие вот две ошибки (HTTP/1.1 400 Bad...

Ошибка 400
Всем доброго времени суток. Решил я как-то спарсить страницу товара али и все шло нормально, но...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru