3
我不知道如何在php中爲流式套接字配置tcp代理的流上下文參數。我發現並測試了以下代碼,但它不適用於流式套接字。如何爲php設置襪子5或http代理的上下文數組stream_socket_client
$context = stream_context_create(
array(
'http'=>array(
'proxy'=> 'tcp://'.$proxy,
)
)
);
$srvHandle = stream_socket_client("tcp://{$this->server}", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
if ($srvHandle === false)
$this->LogError("failed to connect with host website, check your network connection.");
stream_set_blocking($srvHandle, true);
stream_socket_enable_crypto($srvHandle, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
stream_set_blocking($srvHandle, false);
但是上下文對file_get_contents函數有效。
$context = stream_context_create(
array(
/*
'socket' => array(
'bindto' => $proxy,
)
*/
'http'=>array(
'proxy'=> 'tcp://'.$proxy,
"request_fulluri" => TRUE,
),
"ssl" => array(
"SNI_enabled" => FALSE,
)
)
);
$result = file_get_contents("http://api.ipify.org?format=json", false, $context);
所以我可以知道僅適用於http協議的上下文。
如何配置tcp流套接字的上下文參數數組?
謝謝你的回答。 –