Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi и сети

Войти
Регистрация
Восстановить пароль
 
AntonioR
0 / 0 / 0
Регистрация: 07.01.2016
Сообщений: 4
#1

IdHTTP запрос Delete - Delphi

28.09.2016, 22:05. Просмотров 389. Ответов 2
Метки нет (Все метки)

Здравствуйте. Сайт Insales, авторизоваться я смог. Он предоставляет некоторые запросы для управления данными созданного магазин,например выгрузить фото товара по id или удалить их. Вот пример:
Запрос: GET /admin/products/#{product_id}/images.xml - выгружает в xml изображения товара по id
Запрос: DELETE /admin/products/#{product_id}/images/#{id}.xml - удаляет изображение с указанным id у указанного товара
По запросу get я получаю код страницы,но когда я пытаюсь отправить запрос Delete выходит ошибка http/1.1 401 unauthorized

Вот код :

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
77
78
procedure TForm1.Button1Click(Sender: TObject);
var
post,st:TStringList;
result,str,auth,url,xml:string;
dlin,poss,los:integer;
begin
IdHTTP1.IOHandler:= IdSSLIOHandlerSocketOpenSSL1;
IdHTTP1.HandleRedirects:=false;
str:=IdHTTP1.Get('https://shop-39912-0.myinsales.ru/admin/login');
dlin:=length('name="authenticity_token" type="hidden" value="');
poss:=pos('name="authenticity_token" type="hidden" value="',str)+dlin;
los:= pos('https://shop-39912-0.myinsales.ru/admin2/',str)-55;
auth:=copy(str,poss,los-poss);
memo1.Text:=auth;
post:=TStringList.Create;
 
 
  post.Add('utf8=вњ“');
  post.Add('authenticity_token='+auth);
  post.Add('continue=https://shop-39912-0.myinsales.ru/admin2/dashboard?bo2=1');
  post.Add('enter_host=');
  post.Add('auth_domain=shop-39912-0');
  post.Add('email=lforeve@inbox.ru');
  post.Add('password=17wDFtZH');
  post.Add('commit=Войти');
   try
  IdHTTP1.Post('http://auth.insales.ru/login',post);
   except
 
   end;
   url:=IdHTTP1.Response.Location ;
   memo2.lines.Add(url);
   try
  IdHTTP1.post(IdHTTP1.Response.Location,post);
 
     except
 
   end;
   try
   IdHTTP1.get(IdHTTP1.Response.Location);
 
  except
 
   end;
   try
      IdHTTP1.get(IdHTTP1.Response.Location);
 
   except
 
   end;
   try
      IdHTTP1.get(IdHTTP1.Response.Location);
 
   except
 
   end;
   url:=IdHTTP1.Response.Location ;
   try
      IdHTTP1.get(IdHTTP1.Response.Location);
 
   except
 
   end;
   st:=TStringList.Create;
   memo2.Clear;
   memo1.Clear;
   result:=IdHTTP1.get('http://shop-39912-0.myinsales.ru/admin2/dashboard?bo2=1');
    if pos('Показатели',result)>0 then
      Memo1.Lines.Add('Авторизировались!');
 
    xml:=IdHTTP1.get('http://shop-39912-0.myinsales.ru/admin/products/66801622/images.xml');
    memo2.text:=xml;
    IdHTTP1.Delete('http://shop-39912-0.myinsales.ru/admin/products/66801622/images/66801622.xml');
 
 
 post.Free;
 st.Free;
end;
Добавлено через 7 минут
post.Add('utf8=вњ“'); - 'utf8=%E2%9C%93' только декодировать надо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2016, 22:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос IdHTTP запрос Delete (Delphi):

IdHTTP (POST запрос) - Delphi
Здравствуйте,есть такой вопрос,при отправке POST запроса в ответ получаю ошибку HTTP/1.1 302 Found, это меня устраивает,вопрос состоит в...

Поточный idhttp запрос - Delphi
Люди помогите пожалуйста, а точнее исправьте :- type TMyThread = class(TThread) protected procedure Execute; override; ...

Зашифровать запрос idhttp - Delphi
Здравствуйте,нужно зашифровать запросы типа idhttp1.get/post от третих лиц,подскажите варианты

Не получается отправить GET запрос IdHTTP - Delphi
На некоторые сайты он отправляется. А точнее на мой сайт(проверяю ip на сайте и вижу что запросы отсылает). А как только посылаю запрос на...

Idhttp post запрос с текстом и картинкой - Delphi
Всем привет :D Помогите пожалуйста сделать что то вроде комбинированного запроса, то есть с текстом и картинкой. Вот у меня есть как бы...

IdHttp, как посмотреть ответ на запрос? - Delphi
Я отправлю запрос через idhttp, запрос возвращает ошибку 401. Как просмотреть ответ? otvet:=idhttp.get(линк); Возвращает пустой ответ...

2
AntonioR
0 / 0 / 0
Регистрация: 07.01.2016
Сообщений: 4
28.09.2016, 22:13  [ТС] #2
Вот весь проект
0
Вложения
Тип файла: rar Авторизация.rar (2.72 Мб, 4 просмотров)
AntonioR
0 / 0 / 0
Регистрация: 07.01.2016
Сообщений: 4
29.09.2016, 09:54  [ТС] #3
Ну мне нужно отправить вместе с запросом Delete вот этот заголов:
Authorization: Basic ZGlnaXRhbC1nb29kczpjNTFjOTA3MDdhMTNjZTNmZmYyMTNhZmJiNWNkMTI3MA==
Где "ZGlnaXRhbC1nb29kczpjNTFjOTA3MDdhMTNjZTNmZmYyMTNhZmJiNWNkMTI3MA=="
закодированные логин:пароль. Как мне это сделать?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2016, 09:54
Привет! Вот еще темы с ответами:

Не отправляется POST запрос idHTTP - что делаю не так? - Delphi
Проблема в символах, например в символе & Я не знаю почему так все происходит, может кто сможет мне помочь Делфи 2009 у меня ...

IdHTTP и IdHTTP сервер: как отправить сообщение от сервера к клиенту? - Delphi
Всем привет, отправляю файл по частям с клиента на сервер, и хочу получать обратное сообщение, что текущая часть файла дошла успешно....

idhttp и переход по сайтам idhttp и переход по ссылкам idhttp и переход по ссылкам - Delphi
Всем привет! У меня такая ситуация: При помощи idhttp авторизуюсь на сайте, авторизация проходит успешно. Но как мне можно осуществить...

IdHTTP.Get - Delphi
Требуется просто отправить Get-запрос произвольному серверу и подождать ответа некоторое время, после чего отключиться, если ответ не...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru