> 백엔드 개발 > Golang > golang에서 프록시를 통해 FTP에 연결

golang에서 프록시를 통해 FTP에 연결

PHPz
풀어 주다: 2024-02-09 12:00:09
앞으로
618명이 탐색했습니다.

从 golang 通过代理连接到 ftp

PHP 편집자 Zimo가 프록시를 사용하여 FTP 서버의 Golang 코드에 연결하는 방법을 소개합니다. 어떤 경우에는 보안을 강화하거나 네트워크 제한을 해결하기 위해 FTP 서버에 액세스할 때 프록시 서버를 사용해야 할 수도 있습니다. Golang은 간단하고 사용하기 쉬운 네트워크 라이브러리를 갖춘 강력한 프로그래밍 언어이므로 이 기능을 쉽게 구현할 수 있습니다. 다음으로 간단한 샘플 코드를 사용하여 Golang을 사용하여 프록시를 통해 FTP 서버에 연결하는 방법을 보여드리겠습니다.

질문 내용

프록시를 통해 FTP 서버에 연결하고 Golang 코드에서 파일을 다운로드해야 합니다. 간단한 클라이언트를 구현했습니다:

으아악

안타깝게도 연결하려고 하면 403 Forbidden이 표시됩니다. 일반적으로 나는 이것이 서버 제한이라고 가정하지만 컬을 통해 완벽하게 작동합니다 :

으아악

왜 이런 일이 일어나는지 아는 사람 있나요? 내가 아는 한, 컬은 내부적으로 http CONNECT도 사용하므로 내가 무엇을 놓치고 있는지 궁금합니다.

추신: 코드의 자격 증명은 걱정하지 마세요. 이는 네트워크 테스트를 위해 노출됩니다.

해결 방법

HTTP 프록시의 FTP는 CONNECT 요청을 통해 수행되지 않습니다. 대신 프록시는 일반적인 GET 요청을 사용하여 ftp://... URL을 얻도록 지시받습니다. 이것은 컬이 하는 일이기도 합니다. Go에서는 다음과 같이 할 수 있습니다(단순화를 위해 오류 처리는 생략됨):

으아악

위 내용은 golang에서 프록시를 통해 FTP에 연결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿