2012-06-07 2 views
2

때때로 러시아어 기호가 포함될 수있는 동적 URL로 HttpWebRequest를 만들고 있습니다. 때로는 처리 방법을 모르는 문제가 있습니다. URL로 인코딩하는 동안 각 RU 문자가 URL 문자 엔터티 (% 20 ...)로 변환되었습니다. 외관상으로는 그런 변환 후에 URL는 너무 길어서 HttpWebRequest는 마지막 HTTP 결과가 아닌 404 오류를 남기고 마지막 문자를 잘립니다.HttpWebRequest 비 영어 기호가 포함 된 URL을 자르는 경우

이 제한을 무시할 수있는 방법이 있습니까?

내 URL은 다음과 같습니다 : 나는이 시점에서 GET 요청을 기대하고 함께 일하고 있어요 웹 응용 프로그램 이후 GET으로이를 보내고있다

http:\\1.1.1.1\some?page=2&var=тестовое значение строки (this part can be very long) 

.

+0

난 당신이 그렇게 많은 데이터를 전송하는 경우 요청 – Paparazzi

+0

에 ASCII 나 길이 제한에 URL 인코딩 극복하려고 생각하지 않는다, 당신은 정말 POST를 사용하려고합니다

이 참조 GET 요청의 URL 매개 변수 대신에 데이터를 요청하고 전달하십시오. 이것은 일반적으로 권장되는 방법이며 웹 서버에서 로깅을 사용할 수있는 경우에는 로그 파일이 불필요한 세부 정보로 인해 압도되지 않습니다. – dmarietta

+0

이 다른 스레드가 도움이 될 수도 있습니다. http://stackoverflow.com/questions/1587857/httpwebrequest-long-uri-workaroundaround – Lakis

답변

0

유일한 답은 쿼리 문자열의 길이에 제한이 있으므로 다른 방법으로 보내야한다는 것입니다.

오류 404 또는 "HTTP 오류 414. 요청 URL이 너무 깁니다." 전송하려는 데이터가 제한보다 길어 질 때만 쿼리 문자열의 길이 때문에 발생합니다. http://forums.asp.net/t/1139751.aspx

관련 문제