HTTParty ప్రాక్సీ ప్రామాణీకరణ: హోస్ట్, పోర్ట్, వినియోగదారు పేరు మరియు పాస్వర్డ్
HTTP ప్రాక్సీ హోస్ట్, సంఖ్యాత్మక పోర్ట్ మరియు ఐచ్ఛిక ప్రాక్సీ ఆధారాలను నేరుగా HTTParty అభ్యర్థనకు పంపండి, API టోకెన్ను దాని సొంత హెడర్లో ఉంచండి.
HTTParty ఫార్వర్డ్ ప్రాక్సీని అభ్యర్థన ఎంపికలుగా అంగీకరిస్తుంది. సేవా URLని మొదటి ఆర్గ్యుమెంట్గా ఉంచండి:
response = HTTParty.get(
'https://api.example/items',
http_proxyaddr: 'proxy.example',
http_proxyport: 8080,
http_proxyuser: ENV.fetch('PROXY_USER'),
http_proxypass: ENV.fetch('PROXY_PASSWORD'),
headers: { 'Authorization' => "Bearer #{ENV.fetch('API_TOKEN')}" },
open_timeout: 5,
read_timeout: 15
)
puts response.code
ప్రాక్సీ హోస్ట్ మరియు పోర్ట్ మధ్యవర్తిని సూచిస్తాయి. ప్రాక్సీ వినియోగదారు పేరు మరియు పాస్వర్డ్ అక్కడే ప్రామాణీకరించబడతాయి. Authorization హెడర్ APIకి చెందుతుంది, దాని ఖాతా పూర్తిగా భిన్నంగా ఉండవచ్చు.
ప్రామాణీకరణ లేని ప్రాక్సీకి http_proxyuser మరియు http_proxypass తొలగించండి. అనుమతించిన పబ్లిక్ మార్గంలో పబ్లిక్ API అభ్యర్థన కోసం HTTP ప్రాక్సీ జాబితా నుండి HTTP చిరునామా తీసుకోండి, అభ్యర్థనలో లేదా తరగతి డిఫాల్ట్లలో ప్రాక్సీ ఆధారాలు ఉంచకుండా. హోస్ట్ ఫీల్డ్ ప్రాక్సీ చిరునామాగా Net::HTTPకి పంపబడుతుంది; హోస్ట్ పేరును దాని పోర్ట్ నుండి వేరుగా ఇవ్వండి, గమ్యస్థాన URL లేదా PAC URL కాదు.
HTTPartyని చేర్చిన ర్యాపర్ తరగతి బదులుగా డిఫాల్ట్లను సెట్ చేయడానికి దాని http_proxy తరగతి పద్ధతిని ఉపయోగించవచ్చు. అభ్యర్థన ఎంపికలు వాటిని అందించే కాల్ కోసం ఆ డిఫాల్ట్లను అధిగమిస్తాయి.
ఇది HTTParty డిఫాల్ట్ కనెక్షన్ అడాప్టర్ను వివరిస్తుంది. అనుకూల connection_adapter తన ఎంపికలను వివరించడానికి బాధ్యత వహిస్తుంది, కాబట్టి సరైన సెట్టింగ్ నిర్లక్ష్యం చేయబడినట్లు అనిపిస్తే ఆ అడాప్టర్ను పరిశీలించండి. HTTP స్థితిని పార్స్ చేసిన API డేటా నుండి వేరుగా చదవండి; విజయవంతమైన JSON పార్సింగ్ ప్రామాణీకరణ ఫలితం కాదు.