Java 클라이언트를 만들기 위해 Snapchat API를 사용하고 있습니다. 나는 PARAMS 해시를 생성 아무런 문제가없고, 나는 File
개체로 data
이Python이 Java (UniRest) 코드를 요청했습니다.
{
username: snapchat username,
timestamp: UNIX timestamp,
media_id: random string,
type: 0,
req_token: request token,
data: encrypted data
}
: 나는 HTTP POST
에서 다음 매개 변수를 엔드 포인트를 사용하고 있습니다.
f = open('encrypted.jpg')
params = { ... all params besides data ... }
files = { 'data' : f }
r = requests.post(path, params, files=files)
.
자바에서 나는 UniRest로 다음을 수행 오전 :Map<String, Object> params = ... same params ...;
File f = new File('encrypted.jpg');
HttpRequestWithBody req = Unirest.post(path);
req.fields(params);
req.field("data", f);
HttpResponse<String> resp = req.asString();
그러나이 나에게 서버에서 500 응답을 제공합니다. 파이썬을 정확하게 에뮬레이트하는 자바를 작성하려면 어떻게해야합니까? 또는 각자의 코드가 무엇을하고 있는지에 대한 내 네트워크 트래픽을 어떻게 알아낼 수 있습니까? 하나가 작동하고 다른 하나는 작동하지 않는다는 것을 나에게 미친 듯이 보입니다. 체인 방식으로
한다'req.field 읽기, '? – PaulMcG
죄송합니다. 오타를 수정했습니다. –
req = Unirest.post (path) .fields (params) .field ("data", f) 또는 줄 바꾸기 : req = req.fields (params); req = req.field ("data", f); – Marat