Поиск сообщества
Показаны результаты для тегов 'nethttpclient'.
Найдено: 7 результатов
-
Есть такой вот код для работы с гугл переводчиком: procedure TfrmMain.GTranslate; var Data: TStringList; S: String; begin IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru-RU) Gecko/20100625 Firefox/3.6.6'; Data := TStringList.Create; try Data.Text := ('client=x'#13#10 + 'text=' + Edit1.Text + #13#10 + 'hl=en'#13#10 + 'sl=en'#13#10 + 'tl=ru'); try S := (IdHTTP1.Post('http://translate.google.ru/translate_a/t', Data)); except on E: exception do ShowMessage(E.ClassName + ' error raised, with message : ' + E.Message); end; finally Data.Free; end; end; Работает без проблем. Переделал его для NetHttpClient, практически один в один и вместо перевода получаю html страницу с гугл капчей. Типа такой как получаю если заходить через браузер http://translate.google.ru/translate_a/t?client=x&text=Hello&hl=en&sl=en&tl=ru Так в чем между ними разница что получаю разный результат? PS: Просто я в проекте и так использую NetHttpClient, хотелось бы на нем и сделать а не плодить кучу однотипных компонентов.
-
Вроде видел где-то пример передачи через NetHTTPClient файла (*.png или *.jpg) на сервер, но не могу вспомнить где. Помогите с кодом отправки файла. PS. Инди компоненты не интересуют, не хочется их инспользовать
- 7 ответов
-
- NetHTTPClient
- передача фотографии
-
(и ещё 2 )
C тегом:
-
Всем доброго времени суток. Возникла необходимость решить такую задачу: в таблице базы MySQL хранится список изображений и их URL. Необходимо получить этот список массивом. Затем загрузить изображения и поочередно с интервалом показать их в TImage. Понимаю, что получить список изображений правильнее при помощи PHP скрипта, но в каком виде скрип должен вернуть данные, чтобы в Delphi получить из них массив не знаю. Раньше для получения изображений использовал такую процедуру. Но вопрос, где хранить изображения перед демонстрацией их в TImage? Создавать несколько MemoryStream? procedure LoadWebImage(url: string; image: TBitmap); var idhttp : TNetHTTPClient; ms : TMemoryStream; begin IdHTTP := TNetHTTPClient.Create(nil); ms := TMemoryStream.Create; try idhttp.Get(url, ms); ms.Position := 0; image.LoadFromStream(ms); finally ms.Free; idhttp.Free; end; end;
- 15 ответов
-
Как реализовать показ ProgressBar при загрузке фотографии на сервер? Интересует как именно определять сколько байт передано? Используется компонент NetHTTPClient.
- 2 ответа
-
- ProgressBar
- загрузка фотографии
-
(и ещё 1 )
C тегом:
-
Так как не получается работать с IdHTTP в сервисе, решил попробовать компонент NetHTTPClient. Бросил NetHTTPClient1 на форму. Хочу открыть адрес https://ya.ru В папку \Win32\Debug положил libeay32.dll и ssleay32.dll (они рабочие, проверены с IdHTTP) Код (пока тестирую на обычном приложении, а не в сервисе): Получаю access violation в System.Net.HTTPClient в строке 1965 if (Result.Value.Chars[0] = '"') and (Result.Value[High(Result.Value)] = '"') then видимо из-за того что Result.Value пустой. А если попробовать открыть https://mail.ru такого не происходит и страница нормально скачивается. В чем проблема?
- 8 ответов
-
- NetHTTPClient
- SSL
-
(и ещё 1 )
C тегом:
-
На NetHTTPClient пытаюсь назначить обработчик OnValidateServerCertificate: type TFrmMain = class(TForm) ... procedure OnAuthEvent(const Sender: TObject; AnAuthTarget: TAuthTargetType; const ARealm, AURL: string; var AUserName, APassword: string; var AbortAuth: Boolean; var Persistence: TAuthPersistenceType); procedure OnValidateServerCertificate(const Sender: TObject; const ARequest: TURLRequest; const [Ref] Certificate: TCertificate; var Accepted: Boolean); function TFrmMain.GetResponse2(aURL: string): TResponser; var Ss: TStringStream; NetHTTPClient2:TNetHTTPClient; Respon: IHTTPResponse; begin try NetHTTPClient2:=TNetHTTPClient.Create(nil); NetHTTPClient2.OnAuthEvent:=OnAuthEvent; NetHTTPClient2.OnValidateServerCertificate:=OnValidateServerCertificat; // ошибка компиляции ... with NetHTTPClient2 do begin Ss:=TStringStream.Create('', TEncoding.UTF8); Respon:=Get(aURL,ss); end; finally NetHTTPClient2.Free; end; end; procedure TFrmMain.OnValidateServerCertificate( const Sender: TObject; const ARequest: TURLRequest; const [Ref] Certificate: TCertificate; var Accepted: Boolean); begin Accepted:=true; end; Получаю ошибку: Incompatible types: 'Parameter lists differ' Как правильно сделать?