https上的请求保持活动状态,直到得到良好响应(perl或python2.7)

https上的请求保持活动状态,直到得到良好响应(perl或python2.7),perl,python-2.7,http,https,keep-alive,Perl,Python 2.7,Http,Https,Keep Alive,我希望通过httpskeep-Alive连接继续发送一些HTTP请求,直到得到良好的响应(例如,与某个字符串/regex匹配的响应) 在perl或python2.7中,最好的方法是什么?(我是一名C程序员,对Perl或Python不太了解。) 如果您正在构建一个web应用程序,该应用程序可能部署在一个高性能的环境中 网络延迟情况,考虑利用HTTP/1.1 活着。这需要构建CGI所需的HTML 将发出,然后以一个内容长度发出HTML 预先准备好的。类似于 binmode(STDOUT); $htm

我希望通过
https
keep-Alive
连接继续发送一些HTTP请求,直到得到良好的响应(例如,与某个字符串/regex匹配的响应)

perl
python2.7
中,最好的方法是什么?(我是一名C程序员,对Perl或Python不太了解。)

如果您正在构建一个web应用程序,该应用程序可能部署在一个高性能的环境中 网络延迟情况,考虑利用HTTP/1.1 活着。这需要构建CGI所需的HTML 将发出,然后以一个内容长度发出HTML 预先准备好的。类似于

binmode(STDOUT);
$html = ...;
print "Content-Type: text/html\r\n",
      "Content-Length: ", length($html), "\r\n\r\n",
      $html;
或者,如果使用CGI

$html = ...;
print header(-content_length => length($html)), $html;
我会成功的

更多信息请访问:


现代web框架已经提供了保持活动的选项。例如,在
Mojo::Server::Hypnotoad
中,您可以说
requests=>
。您还可以实现。

ahhh。。。我在处理请求,而不是处理它们!正如我已经提到的,我正在构建一个客户机,而不是一个服务器,因此,不幸的是,这个答案是非顺序的。在这种情况下,您可以使用轮询来持续轮询服务器,这样它就不会超时并等待所需的响应。如前所述,我不知道任何perl,所以,我正在寻找一个完整的工作片段,这似乎是一个相当简单的任务。我想我可以用libcurl用C写这个。
import requests

def deal_with_specal_case(res -> request.response):
    print("oops server error")


# main
url = 'https://www.google.com/?search=foobar'
res = requests.get(url)

while True:
    if res.response_code == '200' and any(mystring in x for x in res.text.splitlines()): break
    else:
        res = requests.get(url)
        if res.response_code > 499:
            deal_with_special_case(res)
            break