这是我的项目代码的一部分。网页返回不同请求的不同状态代码
URL="http://www.amazon.com",
HTTPOpts = [{autoredirect, false}],
case httpc:request(get, {URL, [{"User-Agent", "Mozilla"}]}, HTTPOpts, []) of
{ok, {{_, Code, _}, Headers, Body}} when Code == 200 ->
%%code for process code=200 %%
{ok, {{_, Code, _}, Headers, _}} when Code < 310 , Code >= 300 ->
%% redirection
{ok, {{_, Code, _}, Headers, _}} when Code ==503 ->
%%service unavailable
问题是,当我执行http
请求,将返回不同的状态代码。
在URL
情况下,上述我得到两个响应,Code = 200
和Code = 503
,我该如何处理这个问题,让我总是Code = 200
我也尝试过使用wget "www.amazon.com"
,它给了相同的结果。
我的想法:重新请求在Code = 503
情况,但问题这一点,可能会进入循环,并可能永远不会返回Code = 200
或经过多次迭代,从而产生在客户端请求的延迟恢复。
如何解决?