맨날 get 방식만 사용하다가 오랜만에 post방식 사용하려니 잘안되어서 머리 아팠는데 우여곡절에 해결 ㅎㅎ
post 파싱이 안될때 !
- 400 bad request
- 301 moved parameter
해결방법
경로 : 개발자도구(F12) > Network > Payload > Request Payload
- postValue 값 넘겨주기
- postValueLen(:postValue의 길이) 넘겨주기
$strPOSTValueLen = strlen( $strPOSTValue );
주의 : 값 넘겨줄 때 빈 값이 있으면 안됨.
파싱 전 입력한 데이터들 print_r로 찍어보기.
- Referer 값 주기
POST subURL HTTP/1.1
Host: HostURL
Content-Type: application/json
User-Agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
Referer: URL
Cookie:
Content-Length: strlen(postValue)
postValue
Connection: close
로 값 받아와서 출력했는데.. 값이 유니코드로 출력된다.
유니코드 json_decode 하기
\uHHHH | 16진수 네 자리로 표현된 유니코드 문자 |
{
"comment_list": [{
"srl": "2283413322",
"ct": "\uc544\uc774\ud328\ub4dc\ub791 \uc5f0\uacb0 \uc798 \ub418\uace0 \ub098\ub294 \ubc84\uc9881\uc4f0\ub2e4\uac00 2\ub85c \uac08\uc544\ud0d4\ub294\ub370 \uc5c4\uccad \ub9cc\uc871\ud574!",
"rd": "20211220181443",
"ind": "-1"
}, {
"srl": "2283569274",
"ct": "\uc6c5 \ub098 \ud50c\ub9bd3\ub791 \uc544\uc774\ud328\ub4dc\ud504\ub85c \uc4f0\ub294\ub370 \ub9cc\uc871!! \uc5d0\uc5b4\ud31f\ud504\ub85c\uc4f0\ub2e4\uac00 \ub0b4\ub824\uc628\uac70\ub77c\uc11c \uc880 \uc5ed\uccb4\uac10\ub418\uae34\ud588\ub294\ub370 \uac00\uaca9\uc774 \ud6e0\uc5b4\uc5b4\uc5b4\uc5bc\uc52c\uc800\ub834\ud558\uace0 \ub178\uce94\uc788\uc5b4\uc11c \uc88b\uc544",
"rd": "20211220203420",
"ind": "-1"
}],
"document_srl": 2283392978,
"added_number": 0,
"now_comment_page": 1
}
유니코드로 받아온 값을, 한글로 변환해준다.
유니코드 변환은 아래 글 참고(PHP 5)
2022.01.05 - [PHP] - 유니코드 변환(decode)
브라켓이 코드정렬해서 보기 참 예쁜 것 같다.
html이나 json 코드는 주로 bracat으로 정렬하고 보는 편이다.
어제는 에디터플러스3에 코드정렬 기능을 추가했다.
아래 파일을 다운로드 받고 에디터 플러스 경로에 파일을 추가해준다.
설정
메뉴바 > 도구 > 사용자 도구 구성 > 다운로드 받은 파일 추가 후 > 동작 : 텍스트 필터로 실행(바꾸기) 선택 > 적용
'Development > PHP' 카테고리의 다른 글
[정규표현식] 정규식 문자열 제거(영문/숫자) (0) | 2021.12.28 |
---|---|
정규식 html 태그제거 (0) | 2021.12.28 |
정규식 공백제거(str_replace, preg_replace) (0) | 2021.12.28 |
인코딩 깨질 때 (0) | 2021.12.23 |
PHP 인젝션 (0) | 2021.12.20 |