>我有一个奇怪的问题,我收到 400 个错误请求作为响应,我完全不知道标头出了什么问题。这是我的代码:
<?php
$sock = fsockopen('IP ADDRESS', 80, $errno, $errstr);
$header = array(
'GET / HTTP/1.1',
'Host: stackoverflow.com',
'User-agent: My Useragent',
'Connection: Close'
);
fputs($sock, join(''r'n', $header));
while(!feof($sock))
{
echo fgets($sock, 128);
break;
}
fclose($sock);
?>
知道我做错了什么吗?
谢谢
编辑:多亏了MrCode,这个问题才得到解决。问题在这里:
fputs($sock, join(''r'n', $header));
我不得不将其更改为:
fputs($sock, join("'r'n", $header)."'r'n'r'n");
请注意双引号和"''r'''r'"
再次感谢代码先生
您缺少'r'n'r'n
最后一个标头之后需要的内容。目前,在最后一个标题之后,您什么都没有。
将其追加到联接结果:
fputs($sock, join("'r'n", $header) . "'r'n'r'n");
此外,您需要在'r'n
周围使用双引号,因为使用单引号会导致 PHP 从字面上理解它而不是作为新行。