2017-05-01 1 views
0

HTML 링크 (예 : www.abc.com/test.csv)를 통해 CSV 파일을 다운로드해야하지만 wget을 사용하는 AIX 맛의 UNIX 서버에서는이를 수행 할 수 없습니다.AIX에서 CSV 다운로드 - wget의 대안?

불행히도 wget이 내 서버에로드되어 있지 않으므로 위의 코드를 사용하면 "프로그램 wget을로드 할 수 없습니다."와 함께 항상 실패합니다.

시도해 볼 수있는 대안이 있습니까? 나는 단순히 서버에 wget을 설치하려고 시도 할 수 있다는 것을 알고 있지만 사용자로서 그것은 나를 관리하지 않으며 그렇게 할 수있는 권한이 없다.

도움 주셔서 감사합니다.

+0

웹 사이트에 SS/TLS/HTTPS가 필요합니까? – ashawley

+0

HTTPS가 필요합니다 - 예 –

+0

그럼 텔넷을 사용할 수 없습니다. – ashawley

답변

0

당신이 openssl이있는 경우 SED와 작은 파일을 추출 시도하려는 경우, 당신은 그럴 수, 그것을 다음

$ (echo "GET /test.csv HTTP/1.1"; 
    echo "Host: www.abc.com"; 
    echo "User-Agent: $(openssl version)/$(bash --version | head -n 1) "; 
    echo "Connection: close"; 
    echo; echo; 
    sleep 1) | openssl s_client -connect 172.16.254.1:443 

그리고를 사용하여 연결 수 :

(echo "GET /test.csv HTTP/1.1"; 
    echo "Host: www.abc.com"; 
    echo "User-Agent: $(openssl version)/$(bash --version | head -n 1) "; 
    echo "Connection: close"; 
    echo; echo; 
    sleep 1) | openssl s_client -connect 172.16.254.1:443 \ 
      | sed -ne '/^HTTP\/1.1/,$p' \ 
      | sed -ne '/^\r$/,$p' \ 
      | sed 1,2d > test.csv 

\r 경우 작동하지 않으면 셸에서 수동으로 캐리지 리턴을 입력해야합니다. 이것은 일반적으로 ^V^M (Ctrl 키 + V다음 Ctrl 키 + M)

내가 AIX 서버에서이 테스트를, 그래서 자신의 위험에 사용하지 않았다.

사용자 에이전트 (User-Agent) 라인이 문제를 일으키는 경우이를 삭제하십시오.

+0

이것이 작동 할 수 있도록 ssl이 있습니다. 불행히도, 다음 문제는 내가 사설망에 있다는 것입니다. 그래서 액세스하려고 시도하는 도메인도 SSL처럼 IP를 필요로합니다. 내가 모여서이 작품이 있다면 알려 드리겠습니다. 고마워요! –

+0

그래서'-connect'에서 IP를 사용하십시오. – ashawley

0

이 답변을하기는 어렵지만이 문제에 대해 몇 가지 발견했습니다.

wget을 사용할 때 패키지를 사용할 수 없어서 그 작업을 수행 할 수 없었습니다. 필자는 UNIX 관리자에게 연락하여 문제를 해결하는 데 사용할 수 있도록 설치했습니다.

그러나이 내용은 모든 사람에게 적절한 해결책이 아님을 이해합니다. 컬 (curl)과 오픈 셀 (openssl)로 놀고 난 후에도 wget과 동일한 결과를 얻을 수 있지만 조금 더 많은 작업이 필요하다는 것을 알았습니다.

실제 호스트에 연결할 수 없다는 문제 만 발생합니다. 연결을 계속 거부하지만 이는 내 방화벽 문제로 인한 것일 수 있습니다.