Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Метод POST, Нада передовать скрипту на сервере данны 
:(
    Опции темы
Kondragor
Дата 21.11.2004, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.11.2004

Репутация: нет
Всего: нет



Поскажите плиз и мне тоже. Вот такой запрос - https://loginnet.passport.com/ppsecure/post...ared=&padding=x позволяет через браузер зайти сразу на страничку проверки почты. А как мне сделать это через IdHTTP1 ? тем более когда я обращаюсь к нему так
Код

procedure TForm1.Button1Click(Sender: TObject);  
var s : TStringList;
     buffer: TStream;
begin
 s := TStringList.Create;
 s.Add('login=my_mail');
 s.Add('domain=hotmail.com');
 s.Add('passwd=my_password');
 s.Add('sec=');
 s.Add('mspp_shared=');
 s.Add('padding=x');
 buffer:= TMemoryStream.Create();
 IdHTTP1.Post('https://loginnet.passport.com/ppsecure/post.srf?lc=1033&id=2&tw=20&fs=1&cbid=24325&da=passport.com&kpp=2&svc=mail&msppjph=1', s, buffer);
 buffer.Free();
 s.Free;
end;

выдается ошибка Intercept value is not valid. Делаю место https:// - http://. Пишет 403 Forbidden.
Подскажите плиз как можно таким образом залогиниться на почту.

p.s. сорри если ступил где, я с этими вещами первый раз работаю.

Это сообщение отредактировал(а) Kondragor - 21.11.2004, 03:17
PM MAIL   Вверх
_hunter
Дата 21.11.2004, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



Цитата
Assign an instance of TIdConnectionInterceptOpenSSL to the Intercept property to allow use of the HTTPS protocol. For the Windows platform, you must install the Indy OpenSSL support .DLL's available at http://www.intelicom.si  to enable Secure Socket Layer support.



--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Kondragor
Дата 22.11.2004, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.11.2004

Репутация: нет
Всего: нет



А нельзя ли объяснить что с этим делать? smile желательно на небольшом примере smile
PM MAIL   Вверх
Балбес
Дата 15.5.2005, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.8.2004

Репутация: нет
Всего: нет



скомпилировал этот пример
Цитата

var s : TStringList;
      buffer: TStream;     
begin
  s := TStringList.Create;
  s.Add('username=Zlo-2');
  s.Add('[email protected]');
  s.Add('new_password=123');
.. и т.д.
  buffer = TMemoryStream.Create();
  IdHTTP1.Post ('http://www.server.ru/phpBB2/profile.php', s, buffer);
  buffer.Free();
  s.Free;
end;


Сообщение отправляется, но вылазит ошибка
Цитата
Socket Error # 10061
Connection refused


Как ее обойти, скажите smile
PM MAIL   Вверх
Балбес
Дата 16.5.2005, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.8.2004

Репутация: нет
Всего: нет



адрес сменил на свой, сообщение отправляется, но вылазит ошибка
PM MAIL   Вверх
_hunter
Дата 16.5.2005, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



а ты уверен что на этом www.server.ru ждут твоего сообщения?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Балбес
Дата 16.5.2005, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.8.2004

Репутация: нет
Всего: нет



_hunter
Цитата
адрес сменил на свой, сообщение отправляется, но вылазит ошибка


Цитата
Socket Error # 10061
Connection refused

smile
PM MAIL   Вверх
_hunter
Дата 16.5.2005, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



ну тогда ты уверен что на "своем" адресе твое сообщение ждут?
+ поставь сниффер да глянь что/куда идет ( и идет ли )[s]
++ что значит сообщение отправляется? ( когда, в таком случае ошиька появляется? )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
lamos123456
Дата 5.11.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.11.2006

Репутация: нет
Всего: нет



Вот попробовал написать по вашему примеру авторизацию но выдаёт ошибку в коде 
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    IdHTTP1: TIdHTTP;
    Memo1: TMemo;
    Memo2: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const
  tofind = '<!-- saved from url=(0081)http://192.168.10.49:8080/loginout.php?PHPSESSID=';
var
  s, sid, url : string;
  p : integer;
  sl : TStringList;
begin
  Memo1.Text := IdHTTP1.Get('http://192.168.10.49:8080/loginout.php');
  s := AnsiLowerCase(Memo1.Text);
  Delete (s, 1, Pos(tofind, s) + Length(tofind)-1);
  sid := copy(s, 1, pos('"', s)-1);
  url := 'http://192.168.10.49:8080/profile.php?action=submit&PHPSESSID=' + sid;
  sl := TStringList.Create;
    s := TStringList.Create;
  s.Add('action=login');
  s.Add('imembername='+(edit1.Text));
  s.Add('ipassword='+(edit2.Text));
  s.Add('submit=%C2%F5%EE%E4');
  Memo2.Text := IdHTTP1.Post(url, sl);
  sl.Free;
  memo2.Lines.savetofile('c:\111.html');
end;
end.

Вот Post запрос который выцепил снифер 
Код

POST http://192.168.10.49:8080/loginout.php HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ssf, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://192.168.10.49:8080/loginout.php
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2; .NET CLR 1.1.4322)
Host: 192.168.10.49:8080
Content-Length: 63
Pragma: no-cache
Cookie: lastvisit=1162718715; PHPSESSID=92b6d91cc2def412f5ed64d78181c670

action=login&imembername=asdf&ipassword=adf&submit=%C2%F5%EE%E4



Форум ExBB
PM MAIL   Вверх
Matematik
Дата 5.11.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



Обрати внимаение на код
Код

var s:String;
  s.Add('action=login');
  s.Add('imembername='+(edit1.Text));
  s.Add('ipassword='+(edit2.Text));
  s.Add('submit=%C2%F5%EE%E4');
  Memo2.Text := IdHTTP1.Post(url, sl);


Это сообщение отредактировал(а) Matematik - 5.11.2006, 16:41
PM MAIL WWW ICQ   Вверх
Zlo
Дата 6.11.2006, 02:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.9.2004

Репутация: нет
Всего: 1



lamos123456, переменную s объяви как TStringList
PM MAIL   Вверх
lamos123456
Дата 6.11.2006, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.11.2006

Репутация: нет
Всего: нет



Ok... спасибо!
PM MAIL   Вверх
malor
Дата 24.4.2007, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 632
Регистрация: 17.11.2006

Репутация: нет
Всего: нет



Мне нужно отправить пару строчек методом POST, а затем прочитать ответ от сервака:
Код
 Query := TStringList.Create;
Query.Append('VP=1');
Query.Append('AC='+Trim(mbNomer.Text));

ResultQuery := HTTP.Post('https://192.168.0.100/check/index.cgi', Query);
lbOtvet.Caption:= ResultQuery;
При запуске выдает - 
Цитата
Debugger Exception Notification

Progect Fel.exe raised exception class EIdOHandlerPropInvalid with message 'IOHandler value is not valid'.
Process stopped. Use step or Run to continue.

Пошаговая отладка показывает, что сбой происходит на строке ResultQuery := HTTP.Post('https://192.168.0.100/check/index.cgi', Query);
Что делать ?
Где логи смотреть ?..

Delphi 7, WinXP

Это сообщение отредактировал(а) malor - 24.4.2007, 12:10
PM MAIL   Вверх
aktuba
Дата 24.4.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Цитата

Assign an instance of TIdConnectionInterceptOpenSSL to the Intercept property to allow use of the HTTPS protocol. For the Windows platform, you must install the Indy OpenSSL support .DLL's available at http://www.intelicom.si  to enable Secure Socket Layer support.


что означает, что для работы с HTTPS необходимы дополнительные DLL. Читаем справку + пользуемся поиском. Обсуждалось подобное очень много раз...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Gwire
Дата 1.7.2008, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 7.8.2007
Где: Николаев

Репутация: нет
Всего: 4




Здравствуйте.
У меня утановлен Apache2.0. Файл по адресу http://localhost/index.php содержит следуюший код:
Код

<?php
    echo 'GET = ';
    var_dump($_GET);    // Вывод массива $_GET - то-есть все переменные переданные методом GET.
    echo 'POST = ';
    var_dump($_POST);   // Вывод массива $_POST - все переменные переданные методом POST.
?>


В Delphi6 пишу код:
Код

procedure TForm1.Button1Click(Sender: TObject);
var S: TStringList;
    A: TStringStream;
    P, G: String;
begin
    P:= 'var_post=value_post';      // Данные для передачи POST методом
    G:= 'var_get=value_get';        // Данные для передачи GET методом

    S:= TStringList.Create;         
    A:= TStringStream.Create('');

    S.Add( P );
    IdHTTP1.Post('http://localhost/?'+ G, S, A);

    Memo1.Lines.Text:= A.DataString;
end;


В результате в Memo1 заносятся следуюшие данные
Код

GET = array(1) {
  ["var_get"]=>
  string(9) "value_get"
}
POST = array(0) {
}


Как видно POST-данные небыли получены сервером для обработки.
Из этого следует что либо пременная "S" имеет не правильный формат строк (var_post=value_post), 
либо функция "IdHTTP1.Post()" работает некорректно, либо я затрудняюсь прокоментировать этот "баг".
smile
Хотелось-бы разобраться...


Это сообщение отредактировал(а) Gwire - 1.7.2008, 19:58
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0609 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.