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 పార్సింగ్ ప్రామాణీకరణ ఫలితం కాదు.

సంబంధిత వ్యాసాలు