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 వేరే ఆకృతిని మౌనంగా ఊహించకూడదు.