发送非阻塞HTTP POST请求

pab*_*blo 13 php python nonblocking

我在php和python中有两个网站.当用户向服务器发送请求时,我需要php/python将HTTP POST请求发送到远程服务器.我想立即回复用户而不等待远程服务器的响应.

是否可以在向用户发送响应后继续运行php/python脚本.在这种情况下,我将首先回复用户,然后才将HTTP POST请求发送到远程服务器.

是否有可能在php/python中创建一个非阻塞的HTTP客户端而根本不处理响应?

在php和python中具有相同逻辑的解决方案对我来说是优选的.

谢谢

ntd*_*ntd 6

在PHP中,您可以通过发送此请求来关闭连接(这与HTTP相关并且也在python中工作,尽管我不知道要使用的正确语法):

// Send the response to the client
header('Connection: Close');
// Do the background job: just don't output anything!
Run Code Online (Sandbox Code Playgroud)

附录:我忘了你可能要设置"Context-Length".另外,请查看此评论以获取提示和实际测试用例.

例:

<?php    
ob_end_clean();
header('Connection: close');

ob_start();

echo 'Your stuff goes here...';

header('Content-Length: ' . ob_get_length());

ob_end_flush();
flush();

// Now we are in background mode
sleep(10);
echo 'This text should not be visible';    
?>
Run Code Online (Sandbox Code Playgroud)


Ant*_*ony 1

您需要做的是让 PHP 脚本执行另一个脚本,该脚本执行服务器调用,然后向用户发送请求。