example php curl

example - PHP cabeceras personalizadas



php curl string (4)

Me pregunto si / cómo puede agregar encabezados personalizados a una solicitud cURL HTTP en PHP. Estoy tratando de emular cómo iTunes agarra las ilustraciones y utiliza estos encabezados no estándar:

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

¿Cómo podría agregar estos encabezados a una solicitud?


Aquí hay una función básica:

/** * * @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; }

Ejemplo de uso:

$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);


Usa la siguiente sintaxis

$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 ;


$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);