2010-08-04 3 views
3

WebRequest가 원격 리소스에 대한 연결을 만들 때 사용해야하는 IP 주소를 지정할 수 있습니까? 예를 들어 IP 0.0.0.10에서 실행되는 MVC 2 웹 사이트가 있지만 서버에 0.0.0.1 - 0.0.0.10이 할당되어 있습니다. 웹 사이트에는 사용자 입력에 따라 초기화되는 클래스가 있으며 원격 리소스에 요청을 생성합니다.사용할 WebRequest IP 지정 방법 (적용 가능한 경우 HttpWebRequest) (C#)

내가 겪고있는 문제는 WebRequest가 웹 사이트의 IP 대신 서버의 첫 번째 IP이기 때문에 WebRequest가 가장 가능성이 높기 때문에 IP로 필터링되는 원격 리소스로부터 요청을 차단하게되므로 WebRequest가 대부분 0.0.0.1을 사용하고 있다는 것입니다. ..

그래서 WebRequest가 요청을 수행 할 때 사용해야하는 IP를 지정하는 방법이 있습니까? 대안 적으로, WebRequest를위한 솔루션 일 필요는 없으며, HttpWebRequest를위한 솔루션 일 수도 있고, 필요하다면 다른 솔루션 일 수도 있습니다. 필요한 경우 요청/응답 코드를 변경합니다.

어쨌든 도움을 많이 주시면 감사하겠습니다. 미리 감사드립니다!

답변

2

HttpWebRequest.ServicePoint를 사용하여 요청에 사용할 특정 IP 주소를 지정하려고한다고 생각합니다. MSDN doc을 보거나 더 정확하게는 Malar Chinnusamy's blog post을 찾아보십시오.

+0

이것은 내가 원한 것이다. 문제는 원격 리소스 (IP 필터링을한다고 생각했는데 솔루션이 바보 같아서 화나게했기 때문에 (그리고 내가 망쳤 기 때문에 ...))를 사용하여 내 문제를 파악했습니다. 암호. 현재 IP 특정 및 비 특정 호출이 모두 작동하므로 Malar의 블로그 작업에서 위임자가 말한 것으로 가정 할 수 있습니다. 어느 쪽이든, 나는 안전한 측면에 있기 위해 IP 특정 버전을 고수 할 것입니다. 도와 주셔서 감사합니다! – Gup3rSuR4c

0

IP 주소 스푸핑 - http://en.wikipedia.org/wiki/IP_address_spoofing입니다.

해당 필터로 인해 주소 범위가 유효한 것으로 간주 할 수 있습니다. 그게 선택의 여지가 있니?

+0

일종의 Wiki 기사에 따르면 패킷을 스푸핑하면 원격 리소스의 응답이 스푸핑 된 압축 IP로 전송됩니다. 이것은 문제가 될 수 있습니다. 클래스가 원본 IP를 웹 사이트의 실제 IP로 스푸핑했다하더라도 실제로 요청을 보낸 IP가 여전히 서버 IP이기 때문에 응답을받지 못합니다 ... 지정된 IP를 사용하려면 클래스가 필요합니다. 전체 요청주기 동안. – Gup3rSuR4c

+0

하지만 정말 스푸핑이 아닙니다. 맞습니까? 서버가 실제로 이러한 모든 주소를 소유하고 있습니다 ... Alex는 WebRequest에 (Http) WebRequest가 특정 것이 아니라 기본값을 지정하도록 지정하려고합니다. – JaredReisinger

관련 문제