Jump to content

Search the Community

Showing results for 'download example' in content posted in ICS - Internet Component Suite.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Delphi Questions and Answers
    • Algorithms, Data Structures and Class Design
    • VCL
    • FMX
    • RTL and Delphi Object Pascal
    • Databases
    • Network, Cloud and Web
    • Windows API
    • Cross-platform
    • Delphi IDE and APIs
    • General Help
    • Delphi Third-Party
  • C++Builder Questions and Answers
    • General Help
  • General Discussions
    • Embarcadero Lounge
    • Tips / Blogs / Tutorials / Videos
    • Job Opportunities / Coder for Hire
    • I made this
  • Software Development
    • Project Planning and -Management
    • Software Testing and Quality Assurance
  • Community
    • Community Management

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Delphi-Version

Found 124 results

  1. I've been using ICS 8.59 with C++ Builder 10.3.3 and as I recall it took some work to tweak/install it. I'm having two issues. The first is that if I add the TSslHttpCli component to a service, it seems to kill or disable codeguard. The application will not produce a .CGL file any longer and I don't think codeguard is working. The second issue is that when I stop the service, normally it shuts down and closes immediately, but just adding the TSslHttpCli component introduces a 60-90 second delay until it finally shuts down. My first question is - I noticed that 8.66 is available with GetIt if I go into Delphi. Can I uninstall 8.59 and then use GetIt to download 8.66 through Delphi? Will it be available in C++ Builder if I do this?
  2. Trying to download a URL with TSslHttpCli. URL is: https://www.htmlvalidator.com/help.php?h=aria-atomic&m=6 Which redirects to: https://www.w3.org/TR/wai-aria-1.1/#aria-atomic Which results in a "HTTP/1.1 400 Bad Request". I think the 400 is because TSslHttpCli is not removing the fragment (#aria-atomic) when it is requesting the redirected URL. Real browsers work fine. Is this a bug?
  3. Angus Robertson

    Installing ICS v8.58 on CBuilder 10.1

    V8.66 was announced in this forum in April with a link to the main ICS wiki download page. Angus
  4. I am trying to install the IcsCommonCB103Design component in Embarcadero XE10.3 (C++), I have already followed the instructions described in another thread: https://en.delphipraxis.net/topic/763-trying-to-install-ics-858-on-c-builder-rio-1031/ I was able to install these two components: IcsFmxCB103Design.cbproj IcsVclCB103Design.cbproj ...unfortunately, the install process failed on IcsCommonCB103Design.cbproj, while the compilation of the corresponding run Project (IcsCommonCB103Run.cbproj) has been successful. The linker exits with the error message: c:\borland\rad studio\20.0\Bin\CodeGear.Cpp.Targets(3799,5): error : Fatal: Datei 'WINAPI.WINDOWS.OBJ' cannot be opened I am working on a Windows 10 System, and I can't find any WINAPI.WINDOWS.OBJ file, only the pascal and dcu files do exist: C:\Borland\RAD Studio\20.0\source\rtl\win\Winapi.Windows.pas C:\Borland\RAD Studio\20.0\lib\win32\release\Winapi.Windows.dcu Now I do wonder, where this file should be located and how I am able to find/download/compile the needed file? Due to the fact that I only work with the helper component TMimeDecode, I might consider to use the class without any component at all, if this shouldn't work, would this be possible? In case, there is no possible soluation at reach, I need to find another library for my mime decode use case.
  5. Mark-

    ICS FAQ, volunteers wanted

    Hello, I used "HTTrack Website Copier" to download the pages. Do you want me to zip and send it to you? Mark
  6. Angus Robertson

    ICS V8.65 announced

    ICS V8.65 has been released at: http://wiki.overbyte.eu/wiki/index.php/ICS_Download ICS is a free internet component library for Delphi 7, 2006 to 2010, XE to XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio and 10.4 Sydney, and C++ Builder 2006 to XE3, 10.2 Tokyo, 10.3 Rio and 10.4 Sydney. ICS supports VCL and FMX, Win32, Win64 and MacOS 32-bit targets. The distribution zip includes the latest OpenSSL 1.1.1i win32, with other versions of OpenSSL being available from the download page. Major Changes in ICS V8.65 include: 1 - The ReadMe8.txt file has a new 'Getting Started with ICS' section listing the types of projects ICS may be used for, and suggesting the correct components to use, and their related sample applications for testing. This is recommended reading for anyone doing new ICS development since it discusses all the new high level components like TSslHttpRest added in the last few years which can reduce development effort considerably. It may also be viewed at: http://wiki.overbyte.eu/wiki/index.php/ICS_Getting_Started 2 - Added new TIcsRestEmail component that provides basic support for Google and Microsoft Outlook email REST APIs including OAuth2 login and refresh to get an access token for SMTP and POP3 XOAuth2 and 0AuthBearer authentication. TIcsRestEmail has methods to send and read email, to list IDs in a mailbox, read headers and message bodies by ID, send emails and delete emails. 3 - The SMPT, POP3 and MailQueue samples all now support XOAuth2 and 0AuthBearer authentication using the TIcsRestEmail component. The low level component call an event to get the authentication access token, which is provided by IcsRestEmail, together with a refresh token which is saved instead of a password. 4 - To access email using REST APIs or OAuth2/SMTP/POP3 an 'application account' needs to be created though the Google or Microsoft provider console. 5 - Added a new TIcsTwitter component and sample, requires a developer account from Twitter. Includes login to Twitter, send tweet, search tweets and get specific tweets, all responses are Json which the application needs to untangle. 6 - Improved TRestParams allowing them to save more Delphi types correctly without conversion to strings, and to save parameters in new formats. 7 - There are various OAuth2 improvements to make it easier to implement. Added several TOAuthUri records designed to set-up common OAuth2 account settings for providers like Google, Twitter, Microsoft and Sipgate, by using the LoadAuthUri method. 8 - TSimpleWebSrv continues to get less simple, it has aWebSrvIP2 property for a second address so it can listen on IPv4 and IPv6 at the same time, with and without SSL if necessary. Setting WebSrvIP to localhost sets both 127.0.0.1 and [::1] so the browser OAuth2 redirect can choose IPv4 or IPv6. 9 - Made some improvements to SuperObject, used for Json creation and parsing. When parsing Json there are new functions that return a sensible error message about parse errors and the location. There is a new object type DateTime or DT which reads or writes TDateTime to avoid the application needing to do the ISO string conversion. Json can now be parsed to a depth of 64 levels. 10 - Rewrote and improved the way ICS reads SSL/TLS certificates and bundles, simplifying code that has got partly duplicated over the years as new methods were added, and improving error handling so the infamous stack error should no longer appear, instead more useful messages. All certificate files are now written with the UTF8 character set for the added comments that may include non-ASCII characters. 11 - All the ICS root bundles are now created cleanly by an application, rather than mostly manually by copy and editing, to reduce errors. This fixed four corrupted root certificates in the older bundles, see http://wiki.overbyte.eu/wiki/index.php/FAQ_SSL/TLS_Certificate_Authority_Root_Stores 12 - Previously the Jose unit offered functions primarily for client JWS/JWT REST applications, it now includes extra functions for REST servers to check and verify the JWS/JWT sent by clients. The Jose sample application has new tests for JWS/JWT, and to parse and display Json. 13 - Added a new Multi Host FTP Server sample using IcsHosts. Really designed to be a Windows service application. It supports multiple SSL hosts with multiple listeners, can order it's own SSL certificates and will create self signed certificates for any missing, and will email status information and errors to an administrator. 14 - Fixed a long term external SSL session cache issue in some components and samples that meant if an SSL handshake fails due to a bad certificate or chain, it is necessary to remove the SSL session from cache so an immediate retry does not succeed by skipping the certificate checks. This is only a short term issue, because the cache is usually cleared after a few minutes. This will effect any client applications using the external SSL session cache including HTTPS. 15 - Increased the TCP send and receive buffer size to 64K in all components and samples, and generally don't allow it to be set lower. Unfortunately the default buffer size never kept up with faster internet speeds which meant some components transferred data slowly. 16 - Made some improvements ordering SSL/TLS certificates. Made Windows Server DNS updating using WMI more robust so wild card Acme orders work reliably. 17 - Made some internal changes loading OpenSSL, to avoid the two DLLs being loaded from different directories and to give better exceptions if they are missing. More detailed release notes are at: http://wiki.overbyte.eu/wiki/index.php/ICS_V8.65
  7. Hi, I use THttpCli component (ICS v8.61) for downloading files. It works well in many case, but when I try pass a parameter with space (encoding with "+" or "%20") I have the error 400 Bad Request Why? What can I do? PS: if I put the url in a browser, the request is successful text/html; charset=iso-8859-1 => CONSEGNA Attestazione avvenuta pubblicazione avviso selezione infermiere.eml Location = http://192.168.2.221/cbadoc/upload/2019/08/14/CONSEGNA Attestazione avvenuta pubblicazione avviso selezione infermiere.eml URL = http://192.168.2.221/cbadoc/download.php?file=CONSEGNA+Attestazione+avvenuta+pubblicazione+avviso+selezione+infermiere.eml&id=20878&liv1=2019&liv2=08&liv3=14 Document = CONSEGNA Attestazione avvenuta pubblicazione avviso selezione infermiere.eml RequestDone, no error. Status = 400 Request Failed ! StatusCode = 400 ReasonPhrase = Bad Request
  8. Brian Culverwell

    SSL GetRemoteFile not transferring the whole image

    Thanks Angus I am sure it is part of ICS but if not, is there another example using ICS that can download files from https? Best regards Brian
  9. Angus Robertson

    HTTP/1.1 + 302 + Cloudflare = 404

    I used your URL with the OverbyteIcsHttpRestTst sample, and it works perfectly with http/1.1 and Cloudfare and correctly redirects to your executable and downloads it: < Content-Type: application/x-executable < Content-Length: 5286400 You are assuming DocBegin is only called for a successful 200 request, when it is called otherwise. Not sure why you want a download bar, they were useful 20 years ago with slow downloads, or for very large files, but 5MB comes down in a couple of seconds in the modern world. You may want to consider changing to use TSslHttpRest which will simplify your application and make it more robust and future proof, you don't really need any events. Angus
  10. Thank you - I've download the updated zip and it looks very promising. Here are the remaining stream compiler errors: OverbyteIcsStreams.pas [dccosx64 Error] OverbyteIcsStreams.pas(292): E2137 Method 'Read' not found in base class function Read(var Buffer; Count: Integer): Integer; override; [dccosx64 Error] OverbyteIcsStreams.pas(394): E2137 Method 'Create' not found in base class constructor Create(const FileName : String; Mode : Word; Rights : Cardinal; BufferSize : Integer); override; [dccosx64 Error] OverbyteIcsStreams.pas(990): E2037 Declaration of 'Read' differs from previous declaration function TMultiPartFileReader.Read(var Buffer; Count: Integer): Longint; [dccosx64 Error] OverbyteIcsStreams.pas(1030): E2037 Declaration of 'Write' differs from previous declaration function TMultiPartFileReader.Write(const Buffer; Count: Integer): Longint; [dccosx64 Error] OverbyteIcsStreams.pas(1149): E2037 Declaration of 'Create' differs from previous declaration constructor TTextStream.Create(AStream : TStream; BufferSize : Integer; Style : TTextLineBreakStyle); [dccosx64 Error] OverbyteIcsStreams.pas(1314): E2037 Declaration of 'Read' differs from previous declaration function TTextStream.Read(var Buffer; Count: Integer): Longint; [dccosx64 Error] OverbyteIcsStreams.pas(1322): E2037 Declaration of 'Write' differs from previous declaration function TTextStream.Write(const Buffer; Count: Integer): Longint; [dccosx64 Error] OverbyteIcsStreams.pas(1463): E2037 Declaration of 'Read' differs from previous declaration function TIcsBufferedStream.Read(var Buffer; Count: Integer): Longint; [dccosx64 Error] OverbyteIcsStreams.pas(1534): E2037 Declaration of 'Seek' differs from previous declaration function TIcsBufferedStream.Seek(Offset: LongInt; Origin: Word): Integer; { V8.65 was Integer } [dccosx64 Error] OverbyteIcsStreams.pas(1598): E2037 Declaration of 'Write' differs from previous declaration function TIcsBufferedStream.Write(const Buffer; Count: Integer): Longint; For each of these errors, changing all occurrences of Integer in the definition to LongInt solves it.
  11. Just found this in my spam folder. Delivery has failed to these recipients: xxxxxxx@aol.com Subject: Delphi Download Password Request Remote Server returned: '554 5.7.9 Message not accepted for policy reasons. See https://help.yahoo.com/kb/postmaster/SLN7253.html'
  12. Follow the instructions on the web page to get a download login. Angus
  13. Thank you, however the site will not allow me to download the file it seems to be wanting a logon. Anywhere I can download this example?
  14. Thanks for the information I will give it a go. BTW where will I find TIcsRestEmail component for download when available? Will
  15. I feel you, the thing is many case the driver of that dongle is asking and nothing can be done about it, but to be sure try to download the trial of SecureBlackBox and see for yourself, if you can in code input the login credentials or not.
  16. The download should always be done from http://wiki.overbyte.eu/wiki/index.php/ICS_Download which is more up to date. Currently, V8.64 is the latest stable version recommended.
  17. I don't see anything wrong in line 277. Strangely both files have an error at the same line, same column. Download ICS again and retry.
  18. Angus Robertson

    ICS V8.64 announced

    ICS V8.64 has been released at: http://wiki.overbyte.eu/wiki/index.php/ICS_Download ICS is a free internet component library for Delphi 7, 2006 to 2010, XE to XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo and 10.3 Rio, and C++ Builder 2006 to XE3, 10.2 Tokyo and 10.3 Rio. ICS supports VCL and FMX, Win32, Win64 and MacOS targets. The distribution zip includes the latest OpenSSL 1.1.1g win32, with other versions of OpenSSL being available from the download page. Major Changes in ICS V8.64 include: 1 - ICS now supports International Domain Names for Applications (IDNA), i.e. using accents and Unicode characters in domain names. Domain names can only contain lowercase ASCII letters and numbers and a couple of symbols, so Unicode U-Labels (nodes in a domain) must be converted to A-Labels (Punycode ASCII) with an ACE (ASCII Compatible Encoding) prefix. So www.mâgsÿstést.eu becomes www.xn--mgsstst-pwa1e4l.eu and мособлеирц.рф becomes xn--90aijkdmaud0d.xn--p1ai. 2 - Added a new WMI component based on the Magenta Systems WMI and SMART Component which allows listing all WMI classes, adding and updating network adaptor IP addresses, and adding and updating records in Windows DNS Server (2012 and later). 3 - For SSL/TLS servers, the initial client hello sent before protocol and cipher negotiation starts is now available in the onSslServerName event, when it is easier to select the SslContext to be used on shared servers supporting lots of hosts. 4 - There are various improvement for SSL/TLS servers using IcsHosts. NonSSlPort may be zero for to allocate a random port (not for SSL), the new BindPort and BindSrvPort properties show the real port while listening, reported by ListenStates. If SslCert can not be found the server will create a self signed SSL certificate with all the HostNames so the server can start. 5 - There are many X509 SSL certificate ordering improvements from Let's Encrypt using ACME. All the ACME challenges are now supported. tls-alpn-01 which works on SSL port 443 using a special self signed certificate thus avoiding a server running on port 80 as well. dns-01 which updates Domain Name Server TXT records to avoid using any servers, allowing wild card orders, currently Windows DNS Server on the same server, but Cloudfare is planned. Note the OverbyteIcsX509CertsTst sample running on a Windows DNS Server is able to order a certificate with multiple wildcard and normal domain names automatically in a few seconds, where a similar commercial certificate would cost at least $100 per wildcard. 6 - TRestParams used with the TSslHttpRest component, has more parameter content types: PContXML, PContBodyUrlEn, PContBodyJson and PContBodyXML. The existing PContUrlEn and PContJson now specify REST params are sent as URL ? arguments, while the PContBodyxx version send params as content body. XLM parsing into an ISuperObject has been added so SOAP and XML REST responses can be processed similarly to Json responses. 7 - The TFtpServer component has a new TFtpOptions ftpsAuthForceSsl which requires SSL/TLS before allowing the LOGIN to be processed so that clear text credentials can not be sent. May also be set using IcsHosts with AuthForceSsl=True for specific Hosts only. Failure gives '533 USER requires a secure connection'. 8 - Added a Websocket server implementation (HIXIE and HYBIE protocols) ported from phpws project, written by Stan Korotky <stasson@orc.ru>. There is no a specific component for websockets, they are handled internally from a custom TWebSockSrvClient. 9 - Did a refresh of the three SSL/TLS trusted root certificate bundles included with ICS, to add new roots and remove untrusted certificates. 10 - Added CreateSelfSignCertEx to OverbyteIcsSslX509Utils to create self signed certificates with subject alternate names and specific key types. More detailed release notes are at: http://wiki.overbyte.eu/wiki/index.php/ICS_V8.64
  19. Also, it is common for webservers to use cookies with webforms, so you should first GET the webpage that contains the webform so that you download any initial cookies, then parse the webform fields (ie, in case any contain randomly generated field values), then submit the webform as directed. Also, make sure you submit ALL <input> fields that have a non-empty value - including the submit button itself! Sometimes webforms have multiple buttons, in which case the webserver needs to know which one is performing the submission.
  20. Angus Robertson

    IdThread and THttpCli

    TIdThread is not an ICS component, probably Indy, which may mean you have mixed two libraries. May or may not be relevant to your problem. The only benefit of using threads with ICS to download multiple URLs is where the host is unavailable and Windows waits up to 30 seconds attempting to connect, blocking other actions. Apart from that, ICS will do several hundreds downloads in parallel. The most important issue if you really need to use threads is to make sure the ICS message pump is called in a solid loop if using async methods. Angus
  21. Ian Branch

    SVN server updated

    Hi Guys, SVN is not my forte. 😞 Is the following command line correct for this to download the library into the ics directory? svn co https://svn.overbyte.be/svn ics Regards & TIA, Ian
  22. AnswerStream is a send but for browser it's a download file. But it's easy: var link = document.createElement('a'); link.setAttribute('href','xls/'+ID+'.xls'); link.setAttribute('download',ID+'.xls'); onload=link.click(); now, all good, thx
  23. Please clarify your question: in my mind,"send" and "download" are not compatible. It is either "receive" and "download" or "send" and "upload". Have a look at various demos delivered with ICS distribution.
  24. Angus Robertson

    ICS Wish List

    This list is possible additions to ICS, new protocols and functionality, none of which is guaranteed... Open to suggestions for other possible protocol additions or improvements. Personally, I'm unlikely to look at any of this stuff for several months, unless my company has an urgent need for something new. But if several other users are all looking for the same thing, I can help co-ordinating improvements. Protocol: STUN client and server Why: Session Traversal Utilities for NAT allows finding a public IP address while behind a NAT router, by contacting a STUN server. Used by public servers and clients that need to tell other applications how to contact them. Also some client protocols like a host name, like SMTP. Difficulty: low, simple protocol, easy to implement. Benefits: medium, saves configuring the IP manually. Protocol: RDAP Client Why: Registration Data Access Protocol is the replacement for the Whois protocol, using HTTPS REST and Json protocols. Both domains and IP addresses. Difficulty: low, simple protocol, easy to implement. Benefits: low, Whois is heavily censored now. Protocol: Roughtime client and server Why: replacement for NTP and SNTP network time protocols (from Google), with security. Difficulty: low, simple protocol. Benefits: low, usually get time from Windows. Protocol: HTTP/2 for HTTP client and server Why: More efficient version of HTTP/1.1, particularly for web pages with dozens of elements, compresses headers. Difficult: moderate, extra DLL, messy, lots to change. Benefits: low, ICS is rarely used to download complex web pages, perhaps more important for the HTTP server. Protocol: SASL for SMPT and POP3 clients Why: Simple Authorisation and Security Layer adds OAuth2 for SMTP and POP3, safer than clear authentication. Difficulty: low, OAuth2 already done. Benefits: high, where the email provider requires it. Protocol: OAuth1 for Twitter Why: Twitter uses OAuth1 rather than the easier and more recent OAuth2 almost everyone else uses. Difficulty: low, uses HMAC which is done already. Benefits: high, if you want to send tweets. Protocol: DNS over HTTPS (DOH) Why: secure DNS can not be intercepted and modified. Difficulty: ICS already has a TDnsQueryHttps component and sample, but causing it to be used by TWSocket and other components at low level could get messy and link in all the REST and Json units. Benefits: low, Microsoft is threatening to support DOH, probably only Windows 10/2019. Protocol: MQTT Why: MQ Telemetry Transport is used to send messages between devices, including IoT. Difficulty: ICS MQTT project n GutHub, needs integration. Benefits: high, if you need the protocol. Protocol: Websockets server Why: A full duplex version of HTTP often used for server push to dynamically update web pages. Difficulty: ICS websockets project in GutHub, needs update and integration. Benefits: high, if you need the protocol. Protocol: SChannel SSL/TLS Support Why: avoid distributing OpenSSL DLLs by using SSL/TLS protocol APIs built into Windows. Downside is Microsoft often takes years to support new protocols and often only in the latest operating systems Difficulty: high, needs to be done at the lowest levels, risks adding bugs for OpenSSL if both supported, need to replace a lot of OpenSSL encryption APIs with Windows APIs, and certificate APIs. Benefits: low, unless you really hate DLLs. Protocol: POP3 Server, IMAP Client and Server Why: because these are missing and we all use email. Difficulty: moderate, lot of new new code. Benefits: high, if you need them. Platform: Better C++ and MacOS Support Why: we don't do much testing on C++ and MacOS due to lack of volunteers to do this regularly. We lack samples for C++ and MacOS. Difficulty: high, users want someone else to do the work. Benefits: high, for C++ and MacOS users. Platform: Support for mobile apps and Linux Why: more platforms. Difficulty: very high, probably at least one man year effort, maybe more. Benefits: high, for mobile apps and Linux. Angus
  25. Angus Robertson

    HTTPS Client

    Start by building and running the OverbyteIcsHttpRestTst.dpr demo in SslDemos, that directory includes the latest OpenSSL DLLs, assuming you are using the latest ICS download, which is V8.63 or V8.64. You get a version exception using newer DLLs on older ICS versions, or vice versa. Angus
×