Μεταβλητές διαμεσολαβητή στο cmd.exe: αποφύγετε τα κενά γύρω από το σύμβολο ίσον
Χρησιμοποιήστε τη σύνταξη ανάθεσης του cmd.exe που δεν βάζει περιττά κενά στο όνομα ή στην τιμή της μεταβλητής διαμεσολαβητή.
Στο cmd.exe, γράψτε την ανάθεση χωρίς κενά γύρω από το σύμβολο ίσον:
set "HTTP_PROXY=http://proxy.example:8080"
Αυτή η φαινομενικά παρόμοια εντολή παράγει διαφορετικό αποτέλεσμα:
set HTTP_PROXY = http://proxy.example:8080
Το όνομα έχει τώρα κενό στο τέλος και η τιμή αρχίζει με κενό. Μια εφαρμογή που αναζητά HTTP_PROXY δεν ζητά HTTP_PROXY . Η εμφανιζόμενη ανάθεση μπορεί να φαίνεται σχεδόν σωστή, ενώ η αναζήτηση που θέλετε μένει κενή.
Η τοποθέτηση ολόκληρης της ανάθεσης σε εισαγωγικά αποτρέπει επίσης την κατά λάθος συμπερίληψη τελικών κενών στην τιμή. Η τοποθέτηση μόνο της τιμής σε εισαγωγικά είναι άλλη μορφή και μπορεί να αφήσει χαρακτήρες εισαγωγικών στην αποθηκευμένη τιμή.
Αντικαταστήστε τον ακροατή του παραδείγματος με ένα τελικό σημείο HTTP από την υπηρεσία σας ή από τη λίστα διαμεσολαβητών HTTP. Εκτελέστε τον πελάτη που θέλετε από εκείνο το παράθυρο εντολών ώστε να κληρονομήσει τη μεταβλητή. Μια εφαρμογή που εκτελείται ήδη αλλού δεν αποκτά το νέο περιβάλλον.
Αυτή είναι σύνταξη του cmd.exe. Το PowerShell χρησιμοποιεί ανάθεση μεταβλητής περιβάλλοντος όπως $env:HTTP_PROXY = 'http://proxy.example:8080'· στο PowerShell, τα κενά σε αυτή την έκφραση δεν είναι το ίδιο λάθος. Το πρόγραμμα πρέπει πάντως να υποστηρίζει τη μεταβλητή και το πρωτόκολλο διαμεσολαβητή που του δίνονται.