Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

idhttp и ssl   Найти похожие ветки 

 
talero   (2009-12-15 21:16) [0]

Добрый день!
Необходимо передать 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
Подскажите, пожалуйста, как с эти бороться?


 
DVM ©   (2009-12-15 21:33) [1]

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


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

ну да..
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 22:38) [3]


> ну да..

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


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

да


 
DVM ©   (2009-12-15 23:03) [5]


> talero   (15.12.09 22:54) [4]

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


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

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


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


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

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

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

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


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

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

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


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

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.


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

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


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

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


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

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


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

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


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

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

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

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


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


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

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

10.5.1 500 Internal Server Error

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


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


> talero   (15.12.09 23:47) [8]


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

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


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.054 c
15-1344534989
Прогер
2012-08-09 21:56
2013.03.22
Как поместить в Clipboard любой файл?


15-1330288203
Юрий
2012-02-27 00:30
2013.03.22
С днем рождения ! 27 февраля 2012 понедельник


15-1349680247
Scott Storch
2012-10-08 11:10
2013.03.22
uml


15-1334386445
Knight
2012-04-14 10:54
2013.03.22
Белые квадраты под изображениями (иконками) в TListView


2-1340107316
sas9568635
2012-06-19 16:01
2013.03.22
Написать процедуру задержки в эмуляторе процессора КР580