PHP GET 请求,发送标头

php
2022-08-30 14:32:36

我需要执行 get 请求并随之发送标头。我可以使用什么来执行此操作?

我需要设置的主标头是浏览器标头。有没有一种简单的方法来做到这一点?


答案 1

如果您使用的是 cURL,则可以使用来定义请求的用户代理标头。curl_setopt ($handle, CURLOPT_USERAGENT, 'browser description')

如果您使用的是 ,请查看手册页上的示例调整,了解file_get_contentsfile_get_contents

// Create a stream
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n" .
              "User-agent: BROWSER-DESCRIPTION-HERE\r\n"
  )
);

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$file = file_get_contents('http://www.example.com/', false, $context);

答案 2

如果您要请求页面,请使用 cURL

为了设置标头(在本例中为 HTTP 请求中的标头),应使用以下语法:User-Agent

<?php
$curl_h = curl_init('http://www.example.com/');

curl_setopt($curl_h, CURLOPT_HTTPHEADER,
    array(
        'User-Agent: NoBrowser v0.1 beta',
    )
);

# do not output, but store to variable
curl_setopt($curl_h, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl_h);

推荐