我使用的socks5 php库连接到代理并通过它发送数据。当我向http服务器发出单个请求时,库工作,但当我接收空字符串时,第二个接收到错误
10053已建立的连接已被您的软件中止 主机。
我不明白为什么会这样,我看了关于socks5服务器的RFC和维基百科,我认为所有连接都是正确的。但仍然没有得到第二反应。
库代码是一个文件,我从这里得到它Socks5Socket
我的代码是下一个
set_time_limit(100);
error_reporting ( E_ALL );
require_once "Socks5Socket.php";
$s = new \Socks5Socket\Client();
$s->configureProxy(array(
'hostname' => '162.144.56.44',
'port' => 60088
));
$s->connect('en.wikipedia.org', 80);
$request = "GET /wiki/HTTP_persistent_connection HTTP/1.1\r\n".
"Host: en.wikipedia.org\r\nConnection: Keep-Alive\r\n\r\n";
$s->send($request);
$response = $s->readAll();
//At this point all OK
$request2 = "GET /wiki/No-till_farming HTTP/1.1\r\n".
"Host: en.wikipedia.org\r\nConnection: Keep-Alive\r\n\r\n";
$s->send($request2);
// Empty string here, no error
$response2 = $s->readAll();
$s->send($request2);
// Errno 10053
$response3 = $s->readAll();
file_put_contents("response.txt",$response2);
$response = substr($response,strpos($response,"»")+1);
//echo $response;
echo "<br><br>".substr($response,strpos($response,"\r\n\r\n")+1);
答案 0 :(得分:0)
好的,问题是http服务器正在关闭我的连接,然后才能做其他事情。我尝试过使用SMTP服务器,连接不再关闭。