Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

idhttp и ssl


talero ©   (2009-12-15 21:16:00) 

Добрый день!
Необходимо передать xml-текст на защищенное соединение методом post

sResponse: String;
fsParams: TFileStream;
begin
fsParams := TFileStream.Create('.\test.xml', fmOpenRead or fmShareDenyWrite);
try
IdHTTP1.IOHandler:=TIdSSLIOHandlerSocketOpenSSL.Create;
IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
sResponse := IdHTTP1.Post('https://www...../xml', fsParams);
ShowMessage(sResponse);
except on E: Exception do
ShowMessage('Error encountered during POST: ' + E.Message);
end;

При передаче возникает ошибка
HTTP/1.1 405 Method Not Allowed
Подскажите, пожалуйста, как с эти бороться?


Sha   (2009-12-25 18:37:00) [1]

Имеет смысл проверить работу без SSL


Дмитрий Белькевич   (2009-12-22 13:40:00) [2]

Исходя из того, что байты везде одинаковы, разумно сравнить, что отдаёт твой код на сервере и что - плюсовый. Как вариант - сделать эмуляцию сервера и/или посмотреть заголовки каким-нибудь анализатором http.


DVM   (2009-12-16 08:11:00) [3]


> talero   (15.12.09 23:47) [8]


> разве эта ошибка HTTP/1.1 405 Method Not Allowed связана
> как-то с подключением библиотеки?

Я просто хотел убедится что с технической стороны с SSL проблем нет.
Сервер к которому ты обращаешься он в Интернет? На него взглянуть можно?


talero   (2009-12-16 03:25:00) [4]

попробовали отправить на другую ссылку.
Теперь такая ошибка

10.5.1 500 Internal Server Error

The server encountered an unexpected condition which prevented it from fulfilling the request. ....


Медвежонок Пятачок   (2009-12-16 00:42:00) [5]

405 Method Not Allowed (Метод не применим)
Появился в HTTP/1.1.

Указанный клиентом метод нельзя применить к текущему ресурсу. В ответе сервер должен указать доступные методы в заголовке Allow разделив их запятой.

Обратите внимание что эту ошибку сервер должен возвращать если метод ему известен, но он не применим к именно к указанному в запросе ресурсу. Если же указанный метод не применим на всём сервере, то клиенту нужно вернуть ответ 501 (Not Implemented).


остается сравнить запросы из билдера и делфи каким-нибудь http аналайзером


talero   (2009-12-16 00:39:00) [6]

ну да. он работает например, если использовать borland builder C++.


Медвежонок Пятачок   (2009-12-16 00:31:00) [7]

без инди и без делфи этот пост работает ?


talero   (2009-12-16 00:11:00) [8]

по этому url ждут поста..


Медвежонок Пятачок   (2009-12-16 00:00:00) [9]

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


talero   (2009-12-15 23:51:00) [10]

405 Method Not Allowed

The method specified in the Request-Line is not allowed for the resource identified by the Request-URI. The response MUST include an Allow header containing a list of valid methods for the requested resource.


talero   (2009-12-15 23:47:00) [11]

эти файлы libeay32.dll ssleay32.dll лежат в папке.
т.е. библиотеки ssl грузятся

разве эта ошибка HTTP/1.1 405 Method Not Allowed связана как-то с подключением библиотеки?


DVM   (2009-12-15 23:22:00) [12]


> может быть я что-то не понимаю?

Может и не понимаешь.

К проекту подключаются не библиотеки, а заголовочные файлы к ним. Сами библиотеки OpenSSL надо скачать и установить (или положить в папку с программой). Кроме прочего, библиотеки OpenSSL требуют установленного Visual C++ Redistributable Package, который надо именно установить.

в папке с программой же должны лежать libeay32.dll ssleay32.dll


talero   (2009-12-15 23:17:00) [13]

может быть я что-то не понимаю? как только я кладу компоненты indy, у меня подключаются эти библиотеки.


DVM   (2009-12-15 23:03:00) [14]


> talero   (15.12.09 22:54) [4]

а они подцепляются нормально? Помню как то намаялся я с ними. Они еще кстати требуют установленного vcredist_x86.exe от MS.


talero   (2009-12-15 22:54:00) [15]

да


DVM   (2009-12-15 22:38:00) [16]


> ну да..

Сами то библиотеки доступны программе в момент проверки?


talero   (2009-12-15 21:41:00) [17]

ну да..
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL,
 IdSSLOpenSSL, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
 IdHTTP, StdCtrls;


DVM   (2009-12-15 21:33:00) [18]

Indy вроде нуждается в библиотеках OpenSSL для поддержки SSL?


Наверх

Титульная страница Поиск, карта сайта Написать письмо