Proxy IP ਅਤੇ ਪੋਰਟ: ਤੁਹਾਡੀ ਐਪ ਨੂੰ ਕਿਹੜਾ ਫਾਰਮੈਟ ਚਾਹੀਦਾ ਹੈ?
Proxy ਸੂਚੀ ਦੀ ਐਂਟਰੀ ਨੂੰ HTTP ਜਾਂ SOCKS URL ਵਿੱਚ ਬਦਲੋ, host ਅਤੇ port ਦੇ ਵੱਖਰੇ ਖਾਨੇ ਭਰੋ ਅਤੇ IPv6 ਪਤੇ ਸਹੀ ਲਿਖੋ।
ਕੁਝ ਐਪਾਂ IP:port ਮੰਗਦੀਆਂ ਹਨ। ਹੋਰਾਂ ਨੂੰ http:// ਜਾਂ socks5:// ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦਾ URL ਚਾਹੀਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਪਤਾ ਅਤੇ ਪੋਰਟ ਅਕਸਰ ਵੱਖਰੇ ਖਾਨਿਆਂ ਵਿੱਚ ਹੁੰਦੇ ਹਨ। ਇਸ ਲਈ ਇੱਕੋ endpoint ਪਤਾ ਬਦਲੇ ਬਿਨਾਂ ਕਈ ਫਾਰਮੈਟਾਂ ਵਿੱਚ ਦਿਸ ਸਕਦਾ ਹੈ।
IPv4 ਐਂਟਰੀ
ਮੰਨ ਲਓ HTTP proxy ਸੂਚੀ ਉਦਾਹਰਨ ਵਜੋਂ HTTP proxy 203.0.113.10:8080 ਦਿੰਦੀ ਹੈ।
| ਐਪ ਕੀ ਮੰਗਦੀ ਹੈ | ਦਰਜ ਕਰੋ |
|---|---|
| Host ਜਾਂ IP | 203.0.113.10 |
| ਪੋਰਟ | 8080 |
| HTTP proxy URL | http://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 ਪਾਰਸ ਕਰਨ ਨਾਲ ਉਸ ਦੇ ਹਿੱਸੇ ਮਿਲਦੇ ਹਨ; ਸੇਵਾ ਮੌਜੂਦ ਹੋਣ ਦਾ ਸਬੂਤ ਨਹੀਂ ਮਿਲਦਾ।
ਜਦੋਂ ਸੂਚੀ ਵਿੱਚ ਵਰਤੋਂਕਾਰ ਨਾਂ ਅਤੇ ਪਾਸਵਰਡ ਹੋਵੇ
URL ਦੀ ਆਮ ਬਣਤਰ http://username:password@host:port ਹੈ। ਪਛਾਣ ਜਾਣਕਾਰੀ ਵਿੱਚ @, # ਅਤੇ / ਵਰਗੇ ਅੱਖਰਾਂ ਲਈ ਸਹੀ URL encoding ਲੋੜੀਂਦੀ ਹੈ। ਜੇ ਕਲਾਇੰਟ ਵੱਖਰੇ ਪਛਾਣ ਜਾਣਕਾਰੀ ਖਾਨੇ ਦਿੰਦਾ ਹੈ ਤਾਂ ਹੱਥੀਂ URL ਬਣਾਉਣ ਨਾਲੋਂ ਉਹ ਵਰਤਣੇ ਆਮ ਤੌਰ ਉੱਤੇ ਸੌਖੇ ਹਨ।
ਕੋਲਨ ਨਾਲ ਵੱਖ ਕੀਤੀ ਪਛਾਣ ਜਾਣਕਾਰੀ ਸਤਰ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਪ੍ਰਦਾਤਾ ਦਾ ਅਸਲ ਫਾਰਮੈਟ ਜਾਂਚੋ। ਕੋਲਨ ਨਾਲ ਵੱਖ ਕੀਤੇ ਚਾਰ ਖਾਨਿਆਂ ਦਾ ਕੋਈ ਸਾਂਝਾ ਸਰਬਵਿਆਪੀ ਅਰਥ ਨਹੀਂ ਅਤੇ ਪਾਸਵਰਡ ਵਿੱਚ ਖ਼ੁਦ ਵੀ ਕੋਲਨ ਹੋ ਸਕਦਾ ਹੈ। ਸਧਾਰਨ IP:port ਲਾਈਨਾਂ ਲਈ ਬਣਿਆ parser ਚੁੱਪਚਾਪ ਹੋਰ ਫਾਰਮੈਟ ਦਾ ਅੰਦਾਜ਼ਾ ਨਾ ਲਗਾਏ।