cURL backend ဖြင့် proxy မှတစ်ဆင့် SimplePie feed များ ရယူခြင်း
feed မစတင်မီ SimplePie ၏ အများသုံး cURL ရွေးချယ်စရာများဖြင့် proxy ဆက်တင်များ ပေးပါ၊ ကြားခံအတွက် စစ်ဆေးအတည်ပြုမှုကို ပြင်ဆင်ပါ။
ပထမဦးစွာ SimplePie သည် ၎င်း၏ မူလ cURL ရယူကိရိယာကို အသုံးပြုကြောင်း အတည်ပြုပါ- PHP ၏ cURL တိုးချဲ့မှု ရှိရမည်ဖြစ်ပြီး application သည် fsockopen ကို မဖြစ်မနေ မသုံးရပါ။ socket အရန်လမ်းက cURL ရွေးချယ်စရာများကို မဖတ်ပါ။
ထို မူလလမ်းအတွက် init မတိုင်မီ ပြင်ဆင်ပါ-
$feed = new \SimplePie\SimplePie();
$feed->set_feed_url('https://feeds.example/news.xml');
$feed->set_curl_options([
CURLOPT_PROXY => 'http://proxy.example:8080',
]);
$feed->init();
set_curl_options သည် ဤတန်ဖိုးများကို ရယူကိရိယာသို့ ပေးပို့သည်၊ ထို့ကြောင့် တပ်ဆင်ထားသော File.php ကို တည်းဖြတ်ရန် မလိုအပ်ပါ။ HTTP proxy စာရင်းမှ HTTP အချက်တစ်ခုသည် အများသုံး feed အတွက် နမူနာ proxy URL ကို ပေးနိုင်သည်၊ ထိုလမ်းကို ခွင့်ပြုထားပြီး proxy အထောက်အထား မပြင်ဆင်ထားလျှင်။ စစ်ဆေးအတည်ပြုမှုအတွက် လက်ခံသော CURLOPT_PROXYAUTH နည်းလမ်းကို ရွေးပြီး CURLOPT_PROXYUSERNAME/CURLOPT_PROXYPASSWORD ပေးပါ။ CURLOPT_HTTPAUTH သည် အစား ဦးတည်ရာကို ဝန်ဆောင်သည်။
set_http_client ဖြင့် ထည့်သွင်းထားသော HTTP client အတွက် ၎င်း၏ proxy ကို ၎င်း၏ ကိုယ်ပိုင် interface ဖြင့် သတ်မှတ်ပါ။ မူလ ရယူကိရိယာ၏ ရွေးချယ်စရာများသည် အခြား သယ်ယူပို့ဆောင်မှုကို ပြင်ဆင်၍ မရပါ။ မူလ cURL စစ်ဆေးအတည်ပြုလမ်းအတွက် PHP cURL ၏ proxy အကောင့် ရွေးချယ်စရာများကို ကြည့်ပါ။
လမ်းကို စစ်ဆေးသောအခါ အသစ်ရယူမှုနှင့် cache လုပ်ထားသော feed ကို ခွဲခြားပါ။ ရှိပြီးသား အရာများကို ပြသခြင်းသည် မည်သည့် ဒေါင်းလုဒ်အသစ်မှ ပြောင်းထားသော proxy ကို အသုံးပြုခဲ့ကြောင်း သက်သေမပြပါ။