|
|
@@ -375,7 +375,19 @@ class AsyncTcpConnection extends TcpConnection
|
|
|
$str .= "Host: $this->remoteHost:$this->remotePort\r\n";
|
|
|
$str .= "Proxy-Connection: keep-alive\r\n\r\n";
|
|
|
fwrite($this->socket, $str);
|
|
|
- fread($this->socket, 512);
|
|
|
+ // fread($this->socket, 512);
|
|
|
+ $proxyBuffer = '';
|
|
|
+ while (!feof($this->socket)) {
|
|
|
+ $data = fread($this->socket, 1024);
|
|
|
+ if ($data === false || $data === '') {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ $proxyBuffer .= $data;
|
|
|
+ // 根据协议判断是否已经读取完整,例如检查 "\r\n\r\n"
|
|
|
+ if (strpos($proxyBuffer, "\r\n\r\n") !== false) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
// Nonblocking.
|
|
|
stream_set_blocking($this->socket, false);
|