들어오는 연결에 포트 80 (포트 80이 다른 서비스에서 사용되지 않음)을 수신하는 TCP 프록시를 만들었습니다. 리스너 소켓에 대해 IpAddress 으로 "Localhost"또는 "127.0.0.1"을 사용하면 프록시가 POST 요청을 수신 할 수 있습니다. 연결을 수신 할 때 내가 대체 그러나 내 machine.The 프록시의 IP (191.151.43.22)과 '로컬 호스트'TCP 소켓 리스너 - POST에서 GET으로 요청이 변경 되었습니까?
Socket listner = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint localEndpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 80);
listner.Bind(localEndpoint);
listner.Listen();
는
Socket listner = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint localEndpoint = new IPEndPoint(IPAddress.Parse("191.151.43.22"), 80);
listner.Bind(localEndpoint);
listner.Listen();
클라이언트 요청 "요청을 GET"으로 클라이언트 요청을 수신 내 컴퓨터의 IP (191.151.43.22)를 사용하여 연결을 수신 할 때 로컬 호스트/127.0.0.1
POST /?toke=abc455/../Control.html?s=783&i=0&t=134 HTTP/1.1
Host: localhost:58888
Connection: keep-alive
Content-Length: 0
Origin: http://localhost:58888
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) C
hrome/21.0.1180.89 Safari/537.1
Content-Type: text/plain;charset=UTF-8
Accept: */*
Referer: http://localhost:58888/?toke=abc455/../Stream.html?s=0&d=%22
localhost%22&p=0&t=1348652703126
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: style=null
클라이언트 요청을 사용하여
GET /?token=abc344/../Stream.html?s=0&d=%22localhost%22&p=0&t=13486531
37269 HTTP/1.1
Host: 192.168.53.50
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) C
hrome/21.0.1180.89 Safari/537.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
POST가 시스템의 IP 주소로 작동하지 않지만 IP 대신 'localhost'가 사용되는 경우 작동하는 이유는 무엇입니까?
요청 정보 자체만으로는 다른 경로 인 Control.html과 Stream.html을 제외하고는 그다지 알려지지 않습니다. 프록시 구성 질문 인 것처럼 들리지만이 경우에는 SO에 속하지 않는 것 같습니다. –