현재 프로젝트의 RESTful API에 연결하려고하는데, SignIn 함수를 사용하여 쿠키로 사용할 인증 토큰을 반환합니다. 우리 프로젝트의 대부분은 C#으로 작성되었지만 PHP에서 SignIn 메서드를 만들려고하고 있는데 문제가 발생했습니다.PHP - setrawcookie()가 false를 반환했습니다.
인증 토큰을 API에서 문자열로 가져올 수 있지만 그 문자열을 쿠키 값으로 설정할 때마다 가져온 쿠키에 잘못된 문자가 포함됩니다. 예를 들어
는 우리의 RESTful API에 로그인 절차에 대해 설정된 쿠키는 다음과 같습니다
1DEbKeyynVTbXeRJ2i5j2+UgwgmuD17VgQ
그러나 이기에, setcookie() 나 제공을 사용할 때 얻을 쿠키 ...
1DEbKeyynVTbXeRJ2i5j2%2BUgwgmuD17VgQ
"+"문자가 "% 2B"(으)로 바뀌고 있습니다. setrawcookie()를 사용하는 방법을 들어 본 적이 있지만 setrawcookie()는 false를 반환합니다. setcookie()는 true를 반환합니다.
이 작동하지 않습니다
$result = curl_exec($ch);
echo setrawcookie("authtoken", $result, 0, "/", "www.arbitratum.com", 1);
이 작업을 수행하지만, + 대신에 나에게 % 2B를 제공합니다.
$result = curl_exec($ch);
echo setcookie("authtoken", $result, 0, "/", "www.arbitratum.com", 1);
왜 이것이 작동하지 않는지 알 수있는 사람이 있습니까? 아니면 내 쿠키에 올바른 문자를 어떻게 얻을 수 있습니까? $ 결과 문자열을 에코 할 때 브라우저에 표시되는 문자열에 올바른 "+"문자가 사용되므로 문제가 무엇인지 혼동합니다.
질문 제목은 질문의 내용과 아무런 관련이 없습니다. – Sisir