간단한 웹 크롤러에서 코딩 중이며 아래쪽 코드로 크롤링하려고하는 정적 파일을 생성했습니다.얼랑의 병렬 HTTP 웹 크롤러
** exception error: no match of right hand side value {error,socket_closed_remotely}
in function erlang_test_01:fetch_page/1 (erlang_test_01.erl, line 11)
in call from lists:foreach/2 (lists.erl, line 1262)
: 순서 1..200 이상 반복
1.) 나에게 정확히 (100) 후 페이지를 크롤링 된 오류가 발생합니다 : 나는 내가 아이디어가없는/질문에 두 가지 문제가
2.) 요청을 병렬 처리하는 방법 20 cincurrent REQS
-module(erlang_test_01).
-export([start/0]).
-define(BASE_URL, "http://46.4.117.69/").
to_url(Id) ->
?BASE_URL ++ io_lib:format("~p", [Id]).
fetch_page(Id) ->
Uri = to_url(Id),
{ok, {{_, Status, _}, _, Data}} = httpc:request(get, {Uri, []}, [], [{body_format,binary}]),
Status,
Data.
start() ->
inets:start(),
lists:foreach(fun(I) -> fetch_page(I) end, lists:seq(1, 200)).
어쩌면 서버가 요청을 매우 빠르게 만들고 DOS 공격처럼 보일 수 있으므로 서버가 모든 연결을 닫는 중입니까? – user601836
나는 내 서버를 운영 중이며 상자에 대한 루트 액세스 권한이 있습니다. 방대한 양의 파일을 가져 오는 Ruby Scripts는 잘 동작하며, Erlang 스 니펫을 여러 번 실행하면 정상적으로 작동하지만 모든 인스턴스가 100 페이지 만 얻을 수 있습니다. 이상한 ... – ctp