2017-12-03 4 views
0

내가 프록시으로 된 HTTPS URL에서 정보를 얻을 수 socket.http 사용하는 501 오류 코드 : "HTTP/1.1 501 :루아 HTTPS 요청

local https = require("socket.http") 
    local r, c, h, s = https.request{ 
    url = "https://www.google.fr", 
    proxy="http://proxy:3128/" 
    } 

    print(r, c, h, s) 

나는 오류를 가지고 : 여기 내 코드입니다 구현되지 않음 지원되지 않는 요청 방법 및 프로토콜 인 Squid는 모든 액세스 프로토콜에 대한 모든 요청 방법을 지원하지 않습니다. " 내가 프록시 URL을 HTTP를 테스트 할 때

는하지만 :

url = "http://www.google.fr", 
    proxy="http://proxy:3128/" 

또는 URL HTTPS 프록시없이 :

url = "https://www.google.fr" 

은 OK입니다.

프록시가있는 https가 작동하지 않는 것처럼 보입니다. socket.http가 프록시 또는 https를 지원하지 않을 수 있습니다. squid는 lua 소켓 요청에서 https를 지원하지 않습니다.

그러나 나는 루아에서 curl을 사용하여 proxy : os.capture ("curl -x http://proxy.com:3128"-XGET https://www.google.fr)와 함께 URL https를 요구할 때 괜찮습니다.

그래서 누군가 나를 도울 수 있습니까? 고맙습니다 !!!

+0

ssl.https를 사용했지만 프록시를 지원하지 않습니다. "프록시를 지원하지 않습니다."라는 오류가 있습니다. 내 코드는 다음과 같습니다. local https = require ("ssl.https") local r, c, h , s = https.request {url = "https://google.fr"; 프록시 = "proxy : 3128 /"; } – windleaf5188

답변

0

socket.http은 https를 지원하지 않습니다. 대신 luasec 및 해당 ssl.https 모듈을 사용해야합니다.

+0

ssl.https를 사용했지만 프록시를 지원하지 않습니다. "프록시를 지원하지 않습니다."라는 오류가 있습니다. 내 코드는 다음과 같습니다. local https = require ("ssl.https") local r, c, h , s = https.request { url = "https://www.google.fr", 프록시 = "http : // proxy : 3128 /" } – windleaf5188

+0

디자인에 의한 것 같아요. https와 함께 프록시를 어떻게 사용할 계획입니까? 프록시에서 SSL 연결을 종료하면 인증서를 제공해야하며 인증서가 MITM이되지만 연결을 종료하지 않으면 트래픽을 볼 수 없으므로 프록시가 유용하지 않습니다. 당신이 전, 다음 luasec 필요하지 않습니다 : 그냥 HTTP 연결을 열지 만 프록시에 대상에 https 연결을 열 수 있습니다. –