કેટલીક એપને IP:port જોઈએ છે. અન્યને http:// અથવા socks5://થી શરૂ થતું URL જોઈએ છે. બ્રાઉઝર સેટિંગમાં સરનામું અને પોર્ટ ઘણી વાર અલગ ક્ષેત્રોમાં હોય છે. એટલે એક જ endpoint સરનામું બદલાયા વિના અનેક ફોર્મેટમાં દેખાઈ શકે છે.

IPv4 એન્ટ્રી

ધારો કે HTTP proxy યાદી ઉદાહરણ તરીકે HTTP proxy 203.0.113.10:8080 આપે છે.

એપ શું માગે છેદાખલ કરો
Host અથવા IP203.0.113.10
પોર્ટ8080
HTTP proxy URLhttp://203.0.113.10:8080

પોર્ટ બે વાર ન ઉમેરો. એપમાં પહેલેથી પોર્ટનું ક્ષેત્ર હોય ત્યારે hostના ક્ષેત્રમાં 203.0.113.10:8080 લખવાથી તે આખી સ્ટ્રિંગને hostname તરીકે resolve કરવાનો પ્રયાસ કરી શકે છે. તેવી જ રીતે, માત્ર IP સરનામું જ માગતા ક્ષેત્રમાં scheme ન ઉમેરો.

Scheme સેવા સાથે મેળ ખાતું હોવું જોઈએ. સરનામું ફેરવતાં પહેલાં ક્લાયન્ટના સપોર્ટ પ્રમાણે HTTP અથવા SOCKS5 પસંદ કરો. HTTP endpoint પહેલાં socks5:// લખવાથી ક્લાયન્ટ શું મોકલે છે તે બદલાય છે; તે સર્વર પર SOCKS5 સક્રિય થતું નથી.

URLમાં IPv6 માટે ચોરસ કૌંસ જરૂરી છે

IPv6 સરનામામાં પહેલેથી કોલન હોય છે, તેથી URLમાં પોર્ટ ઉમેરતાં પહેલાં સરનામું ચોરસ કૌંસમાં મૂકાય છે:

http://[2001:db8::10]:8080
socks5://[2001:db8::10]:1080

કૌંસ વિના સરનામા અને પોર્ટની સીમા અસ્પષ્ટ રહે છે. અલગ ક્ષેત્રો ધરાવતી એપ સામાન્ય રીતે host માટે 2001:db8::10 અને પોર્ટ માટે 8080 માગે છે; એપના ઇનપુટ ફોર્મેટને અનુસરો. અહીંનાં બંને સરનામાં દસ્તાવેજી ઉદાહરણો છે, કાર્યરત proxy નથી.

દરેક કોલન પર વહેંચવાને બદલે URL પાર્સ કરો

નાની Python સ્ક્રિપ્ટ પ્રમાણભૂત URL parser વડે IPv4 અને કૌંસવાળા IPv6 URL સંભાળી શકે છે:

from urllib.parse import urlsplit

proxy = urlsplit("http://[2001:db8::10]:8080")
print(proxy.scheme)
print(proxy.hostname)
print(proxy.port)

hostname પ્રોપર્ટી કૌંસ વિનાનું સરનામું આપે છે. મૂળ સ્ટ્રિંગને દરેક કોલન પર વહેંચવાથી આ ઉદાહરણ બગડશે. વાસ્તવિક importerમાં ગેરહાજર host, સપોર્ટ ન થતા scheme અને 1–65535ની બહારના પોર્ટ પણ નકારો. URL પાર્સ કરવાથી તેના ભાગો મળે છે; સેવા અસ્તિત્વમાં છે તે સાબિત થતું નથી.

યાદીમાં username અને password હોય ત્યારે

સામાન્ય URL રચના http://username:password@host:port છે. ઓળખપત્રોમાં @, # અને / જેવા અક્ષરોનું યોગ્ય URL encoding જરૂરી છે. ક્લાયન્ટ અલગ ઓળખપત્ર ક્ષેત્રો આપે તો હાથેથી URL બનાવવાને બદલે તે વાપરવા સામાન્ય રીતે સરળ છે.

કોલનથી જુદી પાડેલી ઓળખપત્ર સ્ટ્રિંગ ફેરવતાં પહેલાં પ્રદાતાનું મૂળ ફોર્મેટ તપાસો. કોલનથી જુદાં પાડેલા ચાર ક્ષેત્રોનો સાર્વત્રિક અર્થ નથી અને passwordમાં પોતે પણ કોલન હોઈ શકે છે. સાદી IP:port લાઇનો માટે બનાવેલો parser બીજા ફોર્મેટ વિશે ચૂપચાપ અનુમાન ન કરે.

સંબંધિત લેખો