开发者

How to send and receive headers via PHP

开发者 https://www.devze.com 2023-01-22 21:34 出处:网络
I\'d like to study how headers are sent and received. I know about PHP\'s header function and think I can just look at an actual request header (e.g. using Firebug) and make identical requests to a s

I'd like to study how headers are sent and received.

I know about PHP's header function and think I can just look at an actual request header (e.g. using Firebug) and make identical requests to a server (including spoofing the User-Agent). Is this开发者_如何学运维 correct?

The other problem is how do I get the header responses back? I want to analyze the response.

Thanks.

EDIT:

@Tatu, here's the code I ran:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://www.google.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/540.0 (KHTML, like Gecko) Ubuntu/10.10 Chrome/8.1.0.0 Safari/540.0');

$result = curl_exec($ch);
curl_close($ch);

header('Content-type: text/plain');
echo($result);


You might want to take a look at cURL which will allow you to make requests and set and inspect headers. PHP's header only sets headers for the current page, you cannot use that to spoof your user agent – these are headers set by the server and as such have no such significance.

The basic structure of a cURL request with custom headers might be something like this:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Your user agent");

$result = curl_exec($ch);
curl_close($ch);

The beginning of $result will now contain the headers received from the server.


If you want to send headers yourself, without using cURL, check out sockets in PHP.

http://php.net/sockets

0

精彩评论

暂无评论...
验证码 换一张
取 消