macOS iterm에서 프록시가 제대로 작동하는지 확인하는 방법

macOS iterm에서 프록시가 제대로 작동하는지 확인하는 방법

.zshrc이제 다음과 같이 프록시를 설정했습니다.

alias proxy='export all_proxy=socks5://127.0.0.1:7890'

그리고 env아래와 같이 에이전트 환경 값을 표시하려면 터미널에서 명령을 사용하여 확인하십시오.

all_proxy=socks5://127.0.0.1:7890

하지만 이 명령을 사용하여 iTerm에서 일부 데이터를 가져오면 다음과 같은 오류가 표시됩니다.

➜  ~ curl https://google.com
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to google.com:443

Google 크롬을 사용하여 동일한 URL을 방문하면 정상적으로 작동합니다. 무엇이 잘못되었는지 모르겠습니다. 프록시가 유효한지 확인하는 방법은 무엇입니까? 이 명령을 사용하여 7890 포트를 확인하면 다음 출력이 나타납니다.

➜  ~ lsof -i:7890
COMMAND     PID           USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Google      680 xiaoqiangjiang   23u  IPv4 0x46cd4f2ea35741d7      0t0  TCP localhost:53183->localhost:7890 (ESTABLISHED)
Google      680 xiaoqiangjiang   25u  IPv4 0x46cd4f2ea3463747      0t0  TCP localhost:64063->localhost:7890 (ESTABLISHED)
Google      680 xiaoqiangjiang   26u  IPv4 0x46cd4f2ea346cc67      0t0  TCP localhost:64087->localhost:7890 (ESTABLISHED)
Google      680 xiaoqiangjiang   27u  IPv4 0x46cd4f2ea347b747      0t0  TCP localhost:64114->localhost:7890 (ESTABLISHED)
Google      680 xiaoqiangjiang   28u  IPv4 0x46cd4f2ea3516cb7      0t0  TCP localhost:64209->localhost:7890 (ESTABLISHED)

iTerm의 컬 명령이 작동하지 않는 이유는 무엇입니까? 이 명령을 시도했는데 작동합니다.

➜  react-admin git:(umi) curl -x socks5://127.0.0.1:7890 https://baidu.com
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>bfe/1.0.8.18</center>
</body>
</html>

ISP IP를 확인했습니다. 113.97.201.136프록시 서버 IP입니다. 자세한 로그는 다음과 같습니다.

➜  Downloads curl -x socks5://127.0.0.1:7890 https://google.com -v
*   Trying 127.0.0.1:7890...
* SOCKS5 connect to IPv4 8.7.198.46:443 (locally resolved)
* SOCKS5 request granted.
* Connected to 127.0.0.1 (127.0.0.1) port 7890 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to google.com:443
* Closing connection 0
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to google.com:443

답변1

댓글 대신 여기에 답변하면 죄송합니다. 하지만 제 평판이 댓글을 달 만큼 높지 않습니다(오늘 가입하세요). 그러나 나는 당신이 무엇을 하고 있는지 이해하지 못합니다. 별칭을 정의하고 있으므로 이를 입력하면 proxy컬이 사용할 수 있도록 내보내는 것입니다. 그러나 에이전트에 대한 실제 컬 명령을 입력하기 전인지는 밝히지 않습니다. 그 외에도 이것을 :?에 작성하는 것이 ~/.curlrc더 낫지 않을까요 ?

 proxy = "socks5://127.0.0.1:7890"

아니면 정말로 별칭을 사용하고 싶으십니까 ~/.zshrc?

alias curl="curl -x socks5://127.0.0.1:7890"

나는 당신의 솔루션에서 따옴표가 누락되었다고 생각합니다.

all_proxy=socks5://127.0.0.1:7890

~해야 한다

 all_proxy="socks5://127.0.0.1:7890"

그러므로

alias proxy = 'export all_proxy="socks5://127.0.0.1:7890"'

평판이 낮기 때문에 게시할 수 없는 댓글이어야 합니다. --> curl -x socks5://컬에 프록시를 사용하라고 지시했기 때문에 명령이 작동합니다. 이는 제가 입력하라고 말한 것과 동일한 별칭입니다 ~/.zshrc.

관련 정보