這是我的項目代碼的一部分。網頁返回不同請求的不同狀態代碼
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
或經過多次迭代,從而產生在客戶端請求的延遲恢復。
如何解決?