Home >Backend Development >PHP Problem >How to set request header information in php
How to set request header information in php: 1. Use the header function to set the request header information; 2. Set the request header information through the fsockopen function; 3. Set the request header information by using the curl component.
The operating environment of this article: Windows 7 system, PHP version 7.1, DELL G3 computer
How to set request header information in php?
php sets http request header information and response header information
You can use fsockopen and curl components to set the header information of the request server. The header function can only be used to set the header information of the client response. , cannot set the header information of the server.
1. Usage of header function
header('WWW-Authenticate: Negotiate'); header('User-Agent:Mozilla/5.0);
Multiple headers need to be written directly and cannot be connected together
2.fsockopen Function usage
1.php
<?php $fp = fsockopen("test.com", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "GET /2.php HTTP/1.1\r\n"; $out .= "Host: test.com\r\n"; $out .= "name:longqiqi\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); } ?>
2.php
print_r(getallheaders());//会返回自己设置请求的头信息
3.Usage of curl component
1.php
<?php function FormatHeader($url, $myIp = null,$xml = null) { // 解析url $temp = parse_url($url); $query = isset($temp['query']) ? $temp['query'] : ''; $path = isset($temp['path']) ? $temp['path'] : '/'; $header = array ( "POST {$path}?{$query} HTTP/1.1", "Host: {$temp['host']}", "Content-Type: text/xml; charset=utf-8", 'Accept: */*', "Referer: http://{$temp['host']}/", 'User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)', "X-Forwarded-For: {$myIp}", "Content-length: 380", "Connection: Close" ); return $header; } $interface = 'http://test.com/2.php'; $header = FormatHeader($interface,'10.1.11.1'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $interface); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //设置头信息的地方 curl_setopt($ch, CURLOPT_HEADER, 0); //不取得返回头信息 curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); var_dump($result); ?>
2.php
print_r(getallheaders());//Will Return the header information of your own set request
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to set request header information in php. For more information, please follow other related articles on the PHP Chinese website!