php 错误显示长度,PHP套接字 - 错误的结果长度 - 其他字符

这篇博客探讨了如何使用PHP的fsockopen函数创建一个socket来发送HTTP POST请求。作者展示了创建socket的代码,并指出在发送请求后收到的响应中,某个特定返回值($arr[9])为'unavailable',其长度为14,比预期的要多3个字符。这可能涉及到HTTP头或内容编码的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在使用以下功能:

function createSocket($host, $script, $request, $method="POST", $port="8080") {

$request_length = strlen($request);

$output="";

$script .= "?$request";

//echo "host=".Middle_Tier;

$header = "$method $script HTTP/1.1\r\n";

$header .= "Host: $host\r\n";

$header .= "Content-Type: application/x-www-form-urlencoded\r\n";

$header .= "Content-Length: $request_length\r\n";

$header .= "Connection: close\r\n\r\n";

$header .= "$request\r\n";

$socket = fsockopen($host, $port, $errno, $errstr);

if ($socket) //if its open, then...

{

fputs($socket, $header); // send the details over

while(!feof($socket)) {

$output[] = fgets($socket); //get the results

}

return $output;

fclose($socket);

}

else {

return false;

}

}

$host = 'my host';

$script = 'path/to/my/function';

$request = "phone=$phone&city_id=$city_id";

$arr = createSocket($host, $script, $request, $method="POST", $port="8080");我从我的目的地得到这个结果:

$arr[9] = unavailable当我打印时:

strlen($arr[9]);输出是14(即3个附加字符)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值