পিএইচপি সিআরএল কাস্টম শিরোনাম


376

আমি ভাবছি যে / কীভাবে আপনি পিএইচপি-তে একটি সিআরএল এইচটিটিপি অনুরোধে কাস্টম শিরোনাম যুক্ত করতে পারেন। আমি অনুকরণ করার চেষ্টা করছি যে কীভাবে আইটিউনস শিল্পকর্মটি ধরে এবং এটি এই অ-মানক শিরোনামগুলি ব্যবহার করে:

X-Apple-Tz: 0
X-Apple-Store-Front: 143444,12

আমি কীভাবে এই শিরোলেখগুলিকে একটি অনুরোধে যুক্ত করতে পারি?

উত্তর:



188

নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.example.com/process.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$vars);  //Post Fields
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$headers = [
    'X-Apple-Tz: 0',
    'X-Apple-Store-Front: 143444,12',
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Encoding: gzip, deflate',
    'Accept-Language: en-US,en;q=0.5',
    'Cache-Control: no-cache',
    'Content-Type: application/x-www-form-urlencoded; charset=utf-8',
    'Host: www.example.com',
    'Referer: http://www.example.com/index.php', //Your referrer address
    'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:28.0) Gecko/20100101 Firefox/28.0',
    'X-MicrosoftAjax: Delta=true'
];

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$server_output = curl_exec ($ch);

curl_close ($ch);

print  $server_output ;

26
আপনিও একটি কুকির প্রাপ্য
সেবাস্তিয়ানভিউ

3
ব্যবহারকারী এজেন্ট স্ট্রিংটি ছড়িয়ে দেওয়া আমার কাছে খারাপ ধারণা বলে মনে হচ্ছে। এইচটিটিপি স্পেক যা বলেছে তা এখানে
স্টারবিয়াম্রিনবোলাব

5
@ সেবাস্তিয়ানভিউ আপনি একটি কুকি পান! আপনি একটি কুকি পেতে! আপনি একটি কুকি পেতে! সবাই কুকি পায়!
ধীররাজ

2
$varsএই উদাহরণে কি আছে ?
জিআরএক্স

1
@ জিআরএক্স, $ ওয়ার্স আপনার পোস্ট ডেটার একটি অ্যারে, এর মতো: ars ওয়ার্স = অ্যারে ('আইটেম 1' => 'মান 1', 'আইটেম 2' => 'মান 2');
মিজাম

12
$subscription_key  ='';
    $host = '';    
    $request_headers = array(
                    "X-Mashape-Key:" . $subscription_key,
                    "X-Mashape-Host:" . $host
                );

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);

    $season_data = curl_exec($ch);

    if (curl_errno($ch)) {
        print "Error: " . curl_error($ch);
        exit();
    }

    // Show me the result
    curl_close($ch);
    $json= json_decode($season_data, true);

10

এখানে একটি প্রাথমিক কাজ রয়েছে:

/**
 * 
 * @param string $url
 * @param string|array $post_fields
 * @param array $headers
 * @return type
 */
function cUrlGetData($url, $post_fields = null, $headers = null) {
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_URL, $url);
    if ($post_fields && !empty($post_fields)) {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
    }
    if ($headers && !empty($headers)) {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    }
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $data = curl_exec($ch);
    if (curl_errno($ch)) {
        echo 'Error:' . curl_error($ch);
    }
    curl_close($ch);
    return $data;
}

ব্যবহারের উদাহরণ:

$url = "http://www.myurl.com";
$post_fields = 'postvars=val1&postvars2=val2';
$headers = ['Content-Type' => 'application/x-www-form-urlencoded', 'charset' => 'utf-8'];
$dat = cUrlGetData($url, $post_fields, $headers);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.