လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Curl_setopt တွင် proxy server တစ်ခုကိုမည်သို့တပ်ဆင်ရမည်နည်း။

Curl_setopt တွင် proxy server တစ်ခုကိုမည်သို့တပ်ဆင်ရမည်နည်း။

gitbox 2025-05-26

PHP တွင် ဆံပင်ကောက်ကောက်သည် HTTP တောင်းဆိုမှုများကိုလုပ်ဆောင်ရန်အတွက်အားကောင်းသောစာကြည့်တိုက်ဖြစ်သည်။ များစွာသောကိစ္စရပ်များတွင်ကျွန်ုပ်တို့သည် proxy server မှတဆင့်စစ်မှန်သော IP သို့မဟုတ် Access ကိုကန့်သတ်ထားသောအရင်းအမြစ်များကိုဖုံးကွယ်ထားသည့်အတွက်တောင်းဆိုမှုကိုစတင်ရန်လိုအပ်သည်။ ဤဆောင်းပါးတွင် Curl_setoSS ကို Curl_settT function ကို curl_settoS session ကို Curl_Close ကို အသုံးပြု. Curl_Close ကိုပိတ်ထားသည့်အခါ curl_sett function ကိုမည်သို့တပ်ဆင်ရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။

1 ။ ဆံပင်ကောက်ကောက်အခြေခံဖြစ်စဉ်ကိုပြန်လည်သုံးသပ်

ကောက်ကောက်ကို အသုံးပြု. တောင်းဆိုမှုများကိုပေးပို့ခြင်း၏အထွေထွေဖြစ်စဉ်မှာအောက်ပါအတိုင်းဖြစ်သည် -

  1. session ကိုစတင်ရန်: curl_init ()

  2. Set Take options များ - curl_setopt ()

  3. တောင်းဆိုမှုကို: curl_exec ()

  4. Session ကိုပိတ်ပါ။ curl_close ()

ဤဆောင်းပါး၏အဓိကအချက်သည်အဆင့် 2 တွင် proxy server တစ်ခုကိုမည်သို့တည်ဆောက်ရမည်ကိုလေ့လာပါ။

2 ။ Proxy server တစ်ခုကို set up လုပ်ရန် curl_sett ကိုသုံးပါ

Curl သည် proxy ကို set up လုပ်ရန်အထူးရွေးချယ်စရာများပေးသည်။

  • curlopt_proxy : proxy server address (IP သို့မဟုတ် Domain Name နှင့် Port)

  • curlopt_proxyport : proxy server port (optional)

  • curlopt_proxyuserpwd : proxy server ၏အသုံးပြုသူအမည်နှင့်စကားဝှက်, format ကို username: password (optional)

  • curlopt_proxype : proxy type, default is default သည် HTTP proxy, ဘုံအမျိုးအစားများတွင် SOCKS5,

နမူနာကုဒ်:

 <?php
// ဖြစ်ပေါ်လာခြင်း cURL ရုံးထိုင်အချိန်ကာလ
$ch = curl_init();

// တောင်းဆိုမှုကို set up URL,ဒီမှာနမူနာ interface ကိုဖြစ်ပါတယ်,ဒိုမိန်းအမည်ကိုအစားထိုးပါ gitbox.net
curl_setopt($ch, CURLOPT_URL, "https://api.gitbox.net/example/data");

// တိုက်ရိုက် output ကိုအစားတုံ့ပြန်မှုကိုပြန်
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// proxy server address and port ကိုသတ်မှတ်ပါ
curl_setopt($ch, CURLOPT_PROXY, "proxy.gitbox.net");   // proxy server လိပ်စာ
curl_setopt($ch, CURLOPT_PROXYPORT, 8080);             // proxy port

// အေးဂျင့် authentication ကိုလိုအပ်လျှင်,အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုသတ်မှတ်ပါ
// curl_setopt($ch, CURLOPT_PROXYUSERPWD, "user:password");

// လိုအပ်မယ်ဆိုရင် SOCKS5 ဆောင်ရွက်ခြင်း,设置ဆောင်ရွက်ခြင်း类型
// curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);

// တောင်းဆိုမှုကို execute
$response = curl_exec($ch);

// တောင်းဆိုမှုအောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန်
if(curl_errno($ch)){
    echo 'Curl error: ' . curl_error($ch);
} else {
    echo $response;
}

// ရုပ်သိမ်းခြင်း cURL ရုံးထိုင်အချိန်ကာလ
curl_close($ch);

3 ။ အေးဂျင့် -related ရွေးချယ်မှုများ၏အသေးစိတ်ရှင်းပြချက်

ရွေးချယ်စရာများ ဥပမာပြပါ
curlopt_proxy proxy server adx address ကိုသတ်မှတ်ပါ။ IP နှင့်ဒိုမိန်းအမည်ကိုပံ့ပိုးပေးပါမည်
curlopt_proxyport proxy server port ကိုသတ်မှတ်ပါ, ပုံမှန် 8080 ဖြစ်ပါတယ်
curlopt_proxyuserpwd proxy authentication အတွက်အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုသတ်မှတ်ပါ။ format ကို အသုံးပြုသူ - Pass
curlopt_proxytype HTTP (Default), Sococock4, Sococks5 စသည့် proxy အမျိုးအစားများကိုသတ်မှတ်ပါ။
curlopt_htpproxytunnel http proxy ဥမင်လိုဏ်ခေါင်းကို enable လုပ်သင့်သည်ဖြစ်စေ,

ဥပမာအားဖြင့်, proxy server သည်အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုစစ်ဆေးခြင်းနှင့် SOCKS5 proxy တစ်ခုလိုအပ်ပါက၎င်းကိုသင်ဤကဲ့သို့သောရေးနိုင်သည်။

 curl_setopt($ch, CURLOPT_PROXY, "proxy.gitbox.net");
curl_setopt($ch, CURLOPT_PROXYPORT, 1080);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "user:password");
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);

4 ။ ပြီးပြည့်စုံသောဥပမာအကျဉ်းချုပ်

 <?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.gitbox.net/example/data");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROXY, "proxy.gitbox.net");
curl_setopt($ch, CURLOPT_PROXYPORT, 8080);

$response = curl_exec($ch);

if(curl_errno($ch)){
    echo 'Curl error: ' . curl_error($ch);
} else {
    echo $response;
}

curl_close($ch);

5 ။ အကျဉ်းချုပ်

  • Proxy server ကိုအလွယ်တကူတပ်ဆင်ရန် Curlopt_Sety စီးရီး option ကိုသုံးပါ

  • Proxy လိပ်စာသည် Domain အမည်သို့မဟုတ် IP ကိုဖော်ပြသင့်ပြီး port ကိုသီးခြားစီသတ်မှတ်နိုင်သည်။

  • authentication လိုအပ်သည့်အခါ curlopt_proxyuserpwd မှတဆင့်အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုပေးချေပါ။

  • proxy type ကိုလိုအပ်ချက်နှင့်အညီသတ်မှတ်ထားသည်။ HTTP သည်ပုံမှန်အမျိုးအစားဖြစ်ပြီး SOCKS5 proxy ကိုသတ်မှတ်သောအခါအထူးသတ်မှတ်ရန်လိုအပ်သည်။

  • အသုံးပြုပြီးနောက်အရင်းအမြစ်ကိုထုတ်လွှတ်ရန် curl_close ကို ခေါ်ပါ။

ဤနည်းအားဖြင့် PHP တွင် curl ကို HTTP တောင်းဆိုမှုများကိုစတင်ရန် Proxy server နှင့်ပူးပေါင်းရန်ချိတ်ဆက်နိုင်သည့်ကွန်ယက်ပတ်ဝန်းကျင်လိုအပ်ချက်များကိုဖြည့်ဆည်းရန်စတင်ရန်အစပြုရန်။