답변은 네, 작동합니다.
제 경우 비라틴 문자 사용자 이름에서만 문제가 발생하는 것 같습니다.
(이 api_key는 제가 즉시 폐기했으므로, 유출로 인한 문제는 없습니다.)
이 특정 사이트가 다른 방식으로 설치되어 있는지, 예를 들어 그 앞에 다른 프록시가 있는 건지 궁금합니다.
실제로 프록시 뒤에 있습니다. 확신은 없지만, 그게 영향을 미쳤을 수도 있겠네요?
프록시가 원인일 수 있다고 의심됩니다.
요청을 실제 서버의 IP로 직접 보내고 어떤 응답이 반환되는지 확인해 주시겠습니까?
그렇게 하면 Cloudflare이 개입하고 있는지 알 수 있습니다.
시도해 봤는데 내 경우에도 작동하지 않습니다.
.encode()를 중국어 사용자 이름에 적용하거나 urllib.parse.quote()를 사용해도
headers = {
'Api-Key': API_KEY,
'Api-Username': '大帅哥'.encode()
}
# 또는 urllib parse
headers = {
'Api-Key': API_KEY,
'Api-Username': urllib.parse.quote(API_USERNAME)
}
에러가 발생합니다.
Failed to create post. Status code: 403
{'errors': ['您没有权限查看请求的资源。API 用户名或者密钥无效。'], 'error_type': 'invalid_access'}
하지만 .encode()를 사용하지 않으면
headers = {
'Api-Key': API_KEY,
'Api-Username': '大帅哥'
}
에러가 발생합니다.
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-2: ordinal not in range(256)
인코딩된 문자열 "username": "\xe5\xa4\xa7\xe5\xb8\x85\xe5\x93\xa5"만 사용하여 사용자 이름도 생성해 보았지만, 제대로 디코딩되지 않는 것 같아 이것도 작동하지 않았습니다.
어떤 언어이며, 언어 버전은 무엇인가요?
한자입니다.
어떤 언어 버전인지 확인하는 방법은 잘 모르겠네요…
마이클, 감사합니다.
그 질문들은 프로그래밍 언어에 관한 것이었어요 ![]()