gpt4 book ai didi

如果没有发送 post 请求,Ruby net http 请求循环方法

转载 作者:太空宇宙 更新时间:2023-11-03 18:20:28 24 4
gpt4 key购买 nike

我有这样的类(class)(删除了一些代码):

class Terms

def get_connection(path, proxy_addr, proxy_port)
@http = Net::HTTP.new('*', 443, proxy_addr, proxy_port)
@http.use_ssl = true
@http.verify_mode = OpenSSL::SSL::VERIFY_NONE
@http.read_timeout = 500
header = {
'User-Agent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0',
'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language' => 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
'Connection' => 'keep-alive'
}
@resp_get, @data_get = @http.get(path, header)
@get_body_text = @resp_get.body
return @resp_get
end
def first(path, type_id)
***
@resp_post2 = @http.post(path, data, headers)
return @resp_post2
end
end

然后我在 main 中调用它:

v = Terms.get_connection
v.first

但主要的问题是我的网站可能会关闭,我可能会收到错误消息,无法访问@resp_post2 = @http.post(path, data, headers)。我的问题是如何循环此发布请求,并检查是否有问题,然后再次尝试发送此发布请求。也许用try catch,也许用while,但是这段代码怎么写呢?如何检查页面是否存在以及连接是否存在?

最佳答案

因为我认为你可以用你的第一种方法开始救援

def first(path, type_id)
begin
@resp_post2 = @http.post(path, data, headers)
return @resp_post2
rescue
retry #it will retry it once more
end
end

关于如果没有发送 post 请求,Ruby net http 请求循环方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19446775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com