programing

쿼리 문자열에 서명하기

cafebook 2023. 4. 23. 11:27
반응형

쿼리 문자열에 서명하기

저는 C#과 asp.net을 사용하여 만든 웹 앱을 가지고 있습니다.쿼리 문자열에 플러스(+) 기호를 사용하여 파라미터 값을 입력했습니다.하지만 플러스 기호는 사라집니다.

삭제하지 않고 쿼리 문자열에 플러스 기호(+)를 포함하려면 어떻게 해야 합니까?

조언 부탁드립니다.

감사해요.

편집: UrlEncode를 사용하여 코드를 추가했습니다.

string str = Server.UrlEncode(Requery.QueryString["new"]);

+은 쿼리 sign에 .공간을 나타낼 때 사용합니다.쿼리 문자열에서 의미적으로 중요한 다른 문자는 다음과 같습니다.& 여러 할 때 합니다.var=value쿼리 문자열의 쌍입니다.

측쿼리 에 A는 이를 합니다.+이치노자, 만약 당신이 리터럴을 원한다면+시키려면 " " " 를 .%2B★★★★★★ 。

+쿼리 문자열의 부호는 공백으로 URL 디코딩됩니다. %2B[URL] + [URL]을 클릭합니다.

의 차이점을 확인

http://www.google.com/search?q=foo+bar

그리고.

http://www.google.com/search?q=foo%2Bbar

위의 예에서 Google의 서버 스크립트는 쿼리 매개 변수를 URL로 디코딩한 다음 이를 사용하여 검색을 수행합니다.

뿐입니다.%기호 뒤에 특수 문자의 16진수 코드를 입력합니다.들어 인 '16'은A입니다.해보세요: 이이시시해시 try try try try try try try try 。

http://www.google.com/search?q=%41

이것으로 URL 인코딩이 명확해졌으면 합니다.

만약에 이 '아까운명하다.+가 JavaScript URL을 사용하여 을 때 + 후 를 처리합니다.의 쿼리 를 URL 인코딩하여 모든 URL이 합니다.HTTP get 요구를 발행하기 전에 URL 내의 쿼리 파라미터를 URL 인코딩하여 모든 파라미터가 정상적으로 처리되도록 해야 합니다.+부호가 로 변환되다%2B★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ URL이 URL이 .%2B는 다시 는 ' ' ' ' 、 시 、 ' 、 됩 、 ' 、 ' ' ' ' ' 。+네가 원하는 신호야

JavaScript의 URL 인코딩을 참조하십시오.JavaScript를 사용하여 파라미터를 URL 인코딩하는 방법에 대해 설명합니다.여기서의 논의는 간단한 답변입니다.

var encodedURL = "http://example.com/foo.php?var=" + encodeURIComponent(param);

특수문자가 손실되지 않도록 쿼리 문자열 값을 URLEncode해야 합니다.

HTML URL 인코딩 참조 보기

+ 기호를 인코딩해야 합니다. 값은 %2이어야 합니다.b

아무도 헷갈리지 않게 내가 이전 진술을 바꿨어!

서버를 사용하여 URL을 만듭니다.UrlEncode(예:

string myUrl = "http://myurl?param1="  + Server.UrlEncode("my+param+1");

솔루션에 대해 다음과 같이 신청했습니다.

순서 1: 사용Server.UrlEncodeURL 파라미터를 부호화하는 메서드. Response.Redirect("YourURL?parameter=Server.UrlEncode(parameterValue.ToString().Trim()");

스텝 2: 다른 쪽에는 플러스 기호 문자열이 표시됩니다. var parameter = Request.QueryString["parameterValue"].ToString().Trim();

결과는 다음과 같습니다.%2beH8 --> +eH8

또 다른 간단한 방법은Request.Url.ToString().Substring(Request.Url.ToString().IndexOf("=") + 1)제 URL이http://localhost/MyApp/Activate.aspx?ActivationCode=cHbtqH9P2dDZkx/mYUgFFo7nrNqSFgqdPisAzzu5/nwlEYDOHI+CQw==

파라미터를 송신하기 전에 파라미터에 플러스 기호가 포함되어 있는지 여부를 확인해야 합니다.예를 들어, 하나의 플래그로 치환할 필요가 있는 경우는 다음과 같습니다.예를 들어 파라미터는 다음과 같습니다.klasjdlkasd+claid3 can you replace: klasjdlkasdFLAGdjid3223

그리고 당신이 개종할 때 앙게인을 교체해야 합니다.

klasjdlkasd+colid3223

이거 먹어봐, 나한테는 효과가 있어.

Request.QueryString["new"].Trim();

해결책은 항상 포함시키는 것입니다.querystring을 요청할 때 ", "+"를 바꿉니다.

string s = 요청.QueryString ["id"]Trim(). 치환("", "+");

출처 : http://www.webmasterworld.com/forum47/3238.htm

복호화 기능에서 다음 행을 추가합니다.

strText = strText.Replace(" ", "+");

언급URL : https://stackoverflow.com/questions/6855624/plus-sign-in-query-string

반응형