Apache Http Components Fluent API를 사용하고 있습니다.아파치 Http 구성 요소 용 Fluent API를 base64로 인코딩하지 않고 HTTP POST 본문을 인코딩하는 방법은 무엇입니까?
Response postResponse = Request.Post(myUrl).bodyString(myJson, ContentType.APPLICATION_JSON).execute();
매우 잘 작동하지만 HTTP Body를 base64 인코딩을 사용하여 보냅니다. 나는 그것이 일반 텍스트로 본문을 보내는 것을 선호합니다. Fluent API가 base64 대신 일반 텍스트를 사용하도록 할 수 있습니까?
틀렸어. HC가 BASE64 컨텐츠 인코딩을 자동으로 수행하지 않습니다. – oleg
내 관찰에 따르면, base64 인코딩 출력은 첫 번째 경우부터 볼 수 있지만 두 번째 인코딩은 볼 수 없습니다. 내가 보내던 수신 응용 프로그램은 base64로 인코딩 된 JSON을 첫 번째 예제에서 보았지만 두 번째 샘플에서는 표시하지 않았습니다. 또한 첫 번째 호출의 HC 소스 코드에서 base64 인코딩에 대한 명백한 호출이 표시되지 않습니다. 나는 정말로 여기서 무슨 일이 일어나고 있는지 알고 싶다. 좀 더 구체적인 것을 제공 할 수 있습니까? – Freiheit
'ContentType.APPLICATION_JSON'과'ContentType.TEXT_PLAIN'의 주요 차이점은 charset입니다. 나는 @oleg이 어디에서 왔는지를 본다. 여기서는 HC가 base64 인코딩을하고 있음을 나타내는 아무것도 보이지 않지만 내가 본 것은 확실하다. http://grepcode.com/file/repo1.maven.org/maven2/org.apache.httpcomponents/httpcore/4.2.1/org/apache/http/entity/ContentType.java – Freiheit