Mar*_*cus 116 php http-headers
使用PHP,是否可以发送HTTP标头file_get_contents()
?
我知道您可以从您的php.ini
文件中发送用户代理.但是,你能不能也发送其他信息,如HTTP_ACCEPT
,HTTP_ACCEPT_LANGUAGE
和HTTP_CONNECTION
用file_get_contents()
?
或者是否有其他功能可以实现这一目标?
Dom*_*nes 296
实际上,在进一步阅读该file_get_contents()
功能时:
// Create a stream
$opts = [
"http" => [
"method" => "GET",
"header" => "Accept-language: en\r\n" .
"Cookie: foo=bar\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);
Run Code Online (Sandbox Code Playgroud)
您可以按照这种模式来实现您的目标,但我没有亲自测试过.(如果它不起作用,请随时查看我的其他答案)
小智 86
这对我有用(多米尼克只有一条线).
$url = "";
$options = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n" . // check function.stream-context-create on php.net
"User-Agent: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.102011-10-16 20:23:10\r\n" // i.e. An iPad
)
);
$context = stream_context_create($options);
$file = file_get_contents($url, false, $context);
Run Code Online (Sandbox Code Playgroud)
小智 38
您可以使用此变量在file_get_contents()
函数后检索响应标头.
码:
file_get_contents("http://example.com");
var_dump($http_response_header);
Run Code Online (Sandbox Code Playgroud)
输出:
array(9) {
[0]=>
string(15) "HTTP/1.1 200 OK"
[1]=>
string(35) "Date: Sat, 12 Apr 2008 17:30:38 GMT"
[2]=>
string(29) "Server: Apache/2.2.3 (CentOS)"
[3]=>
string(44) "Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT"
[4]=>
string(27) "ETag: "280100-1b6-80bfd280""
[5]=>
string(20) "Accept-Ranges: bytes"
[6]=>
string(19) "Content-Length: 438"
[7]=>
string(17) "Connection: close"
[8]=>
string(38) "Content-Type: text/html; charset=UTF-8"
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
165196 次 |
最近记录: |