PHP fsockopen 400 错误请求


PHP fsockopen 400 Bad Request

>我有一个奇怪的问题,我收到 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 从字面上理解它而不是作为新行。