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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HttpOpenRequest, Ошибка GetLastError = 122 
:(
    Опции темы
GSV
Дата 17.3.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пока в Росии



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

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



Всем добрый день!
Нужно сделать сделать POST запрос
средствами WinInet. Создаю следующую процедуру:
Код

procedure TForm1.Button1Click(Sender: TObject);
var     ResConnect,ResSession,ResOpenURL     :HINTERNET;
          FileRead                                                  :bool;
          DataBuff,ResHttpOpenReq                      :pointer;
          Size,Bytes,hOut                                      :dWord;
          Head                                                       :TStringList;
          Ansi                                                         :PAnsiChar;

begin
    Head:=TStringList.Create();
    Head.Add('Content-type: text/plain; charset=winows-1251');
    Head.Add('Content-length: 0');
    Head.Add('X-Eport-Auth: point=*****; card="*****-*****"; pin="*********"');
    ResConnect:=InternetOpen('TEST',INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0); // GetLastError = 0
    If ResConnect <> NIL then
    begin
        ResSession:=InternetConnect(ResConnect,'dealer.e-port.ru',INTERNET_DEFAULT_HTTPS_PORT,nil,'HTTP/1.0',INTERNET_SERVICE_HTTP,0,0); 
      // GetLastError = 0

         if ResSession <> Nil then
        begin
                 Ansi:='text/* ';
                ResHttpOpenReq:=HttpOpenRequest(ResSession, 'POST','https://dealer.e-port.ru/cp/dir','HTTP/1.0','',@Ansi,INTERNET_FLAG_SECURE, 0);
     // GetLastError = 122
//есно следующее не выполняется
                 if not (HttpAddRequestHeaders(ResSession, PChar(Head), Length(PChar(Head)),
                                      HTTP_ADDREQ_FLAG_REPLACE or
                                      HTTP_ADDREQ_FLAG_ADD or
                                      HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA)) then begin ShowMessage('err');Exit;end;
                InternetCloseHandle(ResHttpOpenReq);
            InternetCloseHandle(ResSession);
        end
    InternetCloseHandle(ResConnect);
    end
    Head.Free;

end;





Что сдесь не так?
Соединение через по https
PM MAIL   Вверх
N1k
Дата 20.3.2006, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(GSV @ 17.3.2006, 17:49 Найти цитируемый пост)
Что сдесь не так?

Практически все...
При правильной реализации ошибку 122 можно игнорировать.

Цитата(GSV @ 17.3.2006, 17:49 Найти цитируемый пост)
ResHttpOpenReq:=HttpOpenRequest(ResSession, 'POST','https://dealer.e-port.ru/cp/dir','HTTP/1.0','',@Ansi,INTERNET_FLAG_SECURE, 0);

третий параметр lpszObjectName т.е. UrlPath.
Ну и самое главное, а куда ты добавляешь заголовки...
Наверно нужно
Код

HttpAddRequestHeaders(ResHttpOpenReq,...

... и как...
Код

...PChar(Head), Length(PChar(Head)),...

может нужно
Код

PChar(Head.text), Length(PChar(Head.text)),

Ну а в остальном все правильно.


PM MAIL   Вверх
GSV
Дата 20.3.2006, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пока в Росии



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

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



Пример был взят с этого форума.
Правда соединение было по http.
Я только переставил на https.
Первая функция HttpOpenRequest, потом HttpAddRequestHeaders?



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

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

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

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

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

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


 




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


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

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