.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
.