* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Novembre 22, 2024, 10:36:56 pm

Inserisci il nome utente, la password e la durata della sessione.

100 Visitatori, 0 Utenti

Autore Topic: THTTPSend e proxy  (Letto 7361 volte)

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:THTTPSend e proxy
« Risposta #15 il: Dicembre 30, 2021, 04:39:54 pm »
hai provato a cercare "proxy03" nel registry?
magari viene fuori qualcosa di utile
Imagination is more important than knowledge (A.Einstein)

bonmario

  • Hero Member
  • *****
  • Post: 1358
  • Karma: +11/-1
Re:THTTPSend e proxy
« Risposta #16 il: Dicembre 30, 2021, 04:45:44 pm »
Sì, ci avevo provato, senza capirci molto ...

C'è questo "ramo"
Codice: [Seleziona]
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iphlpsvc\Parameters\ProxyMgr\

Che contiene questi altri 2 rami:
Codice: [Seleziona]
{7FC8942A-C395-4C9E-8A45-844C2262AC3E}
{D7F5E7BD-E3CB-4CCB-B90C-DFEAA6180DA1}

Ognuno dei 2, ha una chiave che si chiama "StaticProxy", valorizzata rispettivamente con "proxy01:8080" e con "proxy03:8080"

Ciao, Mario

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1395
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:THTTPSend e proxy
« Risposta #17 il: Dicembre 30, 2021, 04:48:37 pm »
Il problema grosso è che di queste cose io non ci capisco una mazza !!!

Oggi ho provato a lavorare per la prima volta col portatile nuovo, senza collegarlo al cavo ethernet, ma solo in Wi-Fi ... ora ho le idee ancora più confuse !!!

- Le impostazioni del proxy che ho io sono diverse da quelle di altri colleghi
- Se uso le loro impostazioni ho problemi, ma a loro funziona tutto bene
- Ho chiamato l'ufficio tecnico, e mi hanno impostato il proxy così come ho postato prima

Sembrava funzionare tutto, poi ho lanciato uno dei miei programmi fatti con Lazarus e mi da un errore ...
Dopo un'ora circa di smanettamenti, ho scoperto che, anche se nelle impostazioni del proxy c'è l'Host "proxy01", nei miei programmi devo mettete "proxy03", altrimenti non funzionano !!!

Ciao, Mario

Il file di configurazione può generare dei settting proxy secondo una certa logica. Quindi non è escluso che via wi-fi, magari per una perdita temporanea di rete, il settaggio del proxy si risetta.

Dall'ultimo post, sembrerebbe che il pac dica che vengano usati o uno o l'atro in alternativa (quando uno cade ad esempio).

Ciao
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

bonmario

  • Hero Member
  • *****
  • Post: 1358
  • Karma: +11/-1
Re:THTTPSend e proxy
« Risposta #18 il: Dicembre 30, 2021, 04:50:35 pm »
Alla fine, già in passato, non è che ci ho capito molto ... mettendo insieme un po di informazioni trovate in giro, avevo capito che i download non funzionavano a causa del proxy, ed avevo risolto così ...

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1395
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:THTTPSend e proxy
« Risposta #19 il: Dicembre 30, 2021, 04:54:01 pm »
Altra cosa, normalmente per usare un componente di rete come quelli di Synapse, occorre fare il binding ad una "rete". Fai il binding corretto ? (magari è una domanda sciocca).
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

bonmario

  • Hero Member
  • *****
  • Post: 1358
  • Karma: +11/-1
Re:THTTPSend e proxy
« Risposta #20 il: Dicembre 30, 2021, 05:02:24 pm »
Altra cosa, normalmente per usare un componente di rete come quelli di Synapse, occorre fare il binding ad una "rete". Fai il binding corretto ? (magari è una domanda sciocca).

Onestamente non so di cosa stai parlando ...
Quando ho avuto bisogno la prima volta, avevo trovato del codice in rete, non ricordo se sul forum o sul wiki di Lazarus, ed avevo adattato quel codice.

Ciao, Mario

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:THTTPSend e proxy
« Risposta #21 il: Dicembre 30, 2021, 06:15:57 pm »
Sì, ci avevo provato, senza capirci molto ...

C'è questo "ramo"
Codice: [Seleziona]
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iphlpsvc\Parameters\ProxyMgr\

Che contiene questi altri 2 rami:
Codice: [Seleziona]
{7FC8942A-C395-4C9E-8A45-844C2262AC3E}
{D7F5E7BD-E3CB-4CCB-B90C-DFEAA6180DA1}

Ognuno dei 2, ha una chiave che si chiama "StaticProxy", valorizzata rispettivamente con "proxy01:8080" e con "proxy03:8080"

Ciao, Mario

potrebbero essere i 2 proxy per la scheda di rete via cavo e per la scheda wireless
ma qua onestamente non ho esperienza

forse potresti cercare i 2 GUID per vedere se ci sono altri nodi legati logicamente a questi 2 rami

Imagination is more important than knowledge (A.Einstein)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1395
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:THTTPSend e proxy
« Risposta #22 il: Dicembre 30, 2021, 06:46:55 pm »
potrebbero essere i 2 proxy per la scheda di rete via cavo e per la scheda wireless
ma qua onestamente non ho esperienza

forse potresti cercare i 2 GUID per vedere se ci sono altri nodi legati logicamente a questi 2 rami

Se così fosse, in "Internet Settings" non protrebbe esserci il proxy non in linea.

Andare a cercare nel registro di sistema non è la cosa giusta, ci sono mille settaggi, tra cui cache, schede che magari non sono più montate.

E quali stà usando il sistema operativo non è dato sapere. Ad esempio, faccio un esempio pratico, io potrei inserire 1 gateway per nic (o anche più di uno). Non è dal registro che si capisce quale è in uso ..... alle volte non lo sà neanche il sistem aoperativo stesso ....  ;D :o ;D :o
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:THTTPSend e proxy
« Risposta #23 il: Dicembre 30, 2021, 07:42:47 pm »
Andare a cercare nel registro di sistema non è la cosa giusta

siete voi che usate windows...
io cerco solo di dare una mano  ;D

Edit:
aggiunta la citazione

Imagination is more important than knowledge (A.Einstein)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1395
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:THTTPSend e proxy
« Risposta #24 il: Dicembre 31, 2021, 03:43:59 pm »
Eseguite alcune prove.
Intanto, per ciò che riguarda le mie applicazioni (in riferimento ai post precedenti), ho usato il componente TNetHttpClient (Delphi) che non sembra abbia un componente equivalente in Lazarus (stò verificando con FPHttpClient).

E ciò nonostante usi normalmente Indy. Il perchè è presto detto: quel componente gestisce in autonomia tutti protocolli di sicurezza (SSL e TLS) e lo fà con le risorse del sistema operativo. Non si appoggia a OpenSSL e non usa dll aggiuntive (ssleay e libleay). Gestisce i proxy in autonomia usando il sistema operativo, non c'è da settare nulla.

Lo usai diversi anni fà (Delphi XE7 o XE8 mi pare) quando "incocciai" con problemi di SSL e proprio di proxy (me ne ero dimenticato, ho dovuto spulciare sulle note di release  :P ).

Quel componente lo uso ancora quando ho a che fare con HTTP(s) o FTP(s) su internet, mentre uso Indy per tutte le altre forme di comunicazione (abbinando le OpenSSL quando il cliente chiede un pò più di "sicurezza).

Quindi, l'arcano (per me) mistero del perchè le applicazioni che facevo non avevano i problemi incontrati da @bonmario è stato svelato.

Indy sembra, almeno da quello che ho provato, abbia necessità del settaggio dei dati del proxy nei suoi componenti (devo comunque ancora approfondire).

Ora vedo come risolverla in Lazarus .... a presto.

Ciao
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1395
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:THTTPSend e proxy
« Risposta #25 il: Dicembre 31, 2021, 05:32:20 pm »
News:
Per quello che sono riuscito a testare sembra che Lazarus e FPC non implementano alcun modo per rilevare un proxy da sistema operativo (almeno per Windows).

Ho implementato una Api di Windows per fare ciò, senza quindi impostare alcunchè nel programma. Le applicazioni rimangono quindi indipendenti dalla presenza o meno del proxy (salvo che questo non necessiti di credenziali per l'accesso).

Stò testandola in varie condizioni (anche reali in una rete multiserver) con Lazarus. Pazienza ... e domani pubblico il sorgente.

Ovviamente tale soluzione funziona solo sotto Windows.

Ciao e buon San Silvestro.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1395
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:THTTPSend e proxy
« Risposta #26 il: Gennaio 01, 2022, 06:52:12 pm »
Questa è l'unità in Pascal per il riporto delle informazioni sul proxy in uso nel sistema operativo.
Per adesso funziona in Windows e fà uso di una API ben precisa, "che fa questo di mestiere".

L'uso è più che semplice. Basta inserire l'unità nelle Uses nella sezione Interface della vostra Form o Unità principale.

Si inserisce in una sola Unit.

All'inizio del Vs. programma si inizializza da sola e riporta nelle variabili globali LPI_ProxyHost di tipo string e LPI_ProxyPort di tipo integer i valori del Proxy se trovato (altrimenti rimane la stringa vuota e l'intero a 0).

Se volete durante il programma ricercare nuovamente i dati del Proxi, semplicemnete chiamate:

Codice: [Seleziona]
DiscoveryProxyInfo;

e i due dati verranno "rinfrescati".

Le due variabili le potete usare all'interno del vs. programma per settare i componenti che necessitano di tali valori.

ATTENZIONE: i proxy che richiedono l'autenticazione necessitano di ulteriori passaggi (normalmente previsti dai componenti).

L'unità non è completa ed esaustiva, con il tempo potrà essere perfezionata. Riportate eventuali varianti che trovate (ad esempio un formato diverso riportato per i vs. proxy).

Spero che questa unità sia di aiuto.

Ciao

EDIT: Rimosso  l'allegato per aggiornamenti
« Ultima modifica: Gennaio 01, 2022, 11:25:07 pm da DragoRosso »
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

bonmario

  • Hero Member
  • *****
  • Post: 1358
  • Karma: +11/-1
Re:THTTPSend e proxy
« Risposta #27 il: Gennaio 01, 2022, 07:27:26 pm »
Grazie, se riesco la provo settimana prossima al lavoro.

Ciao, Mario

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1395
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:THTTPSend e proxy
« Risposta #28 il: Gennaio 01, 2022, 11:59:50 pm »
Ho rimesso l'allegato aggiornato.

Ho inserito nella chiamata un parametro opzionale (true / false).
Se c'è qualcosa che non và, chiama la funzione direttamente dal tuo codice con il parametro true.
Visualizzerà una box con la stringa di definizione del proxy, facendo uno screenshoot può essere utile per debug.

Codice: [Seleziona]
DiscoveryProxyInfo(true);

Ulteriori info nel sorgente.

Ciao
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

 

Recenti

How To

Utenti
  • Utenti in totale: 803
  • Latest: maXim.FI
Stats
  • Post in totale: 19169
  • Topic in totale: 2286
  • Online Today: 99
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 100
Total: 100

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.