나는 특정 웹 서비스를 사용하려고 시도하는거야, 나는 성공적으로 다음과 같은 명령을 사용하여 업로드를 수행 할 수 있습니다WWW : Mechanize로 청크 분할 전송 인코딩을 어떻게 수행합니까?
curl -X POST --header "Transfer-Encoding: chunked" -d @Downloads/file.pdf https://some.webservice/upload
나는 다시 JSON 응답을 얻을 성공을 나타냅니다.
그러나 WWW :: Mechanize를 사용하여 동일한 작업을 수행하는 방법을 알아낼 수 없습니다.
$mech->post("https://" . $server . "/upload", Content_Type => 'multipart/form-data', Content => [upID => $upid, name => $dlfile, userID => 0, userK => 0, file_0 => [$dlfile]]);
큰 뚱뚱한 오류 메시지와 함께 비슷한 json 응답을 수신합니다.
Transfer-Encoding 헤더를 먼저 명시 적으로 설정해야합니까? 다른 트릭이 있습니까? 구글은 이것에 대해 많은 것을 밝히지 않았고, 펄크 몬스터도 아니다. 그리고 문서는 약간 둔하다.
콜백이 사용될 때만 청크가 사용되는 이유는 미리 콘텐츠 길이가 알려져 있기 때문이며 콘텐츠 길이가 알려진 경우 청크 분할 인코딩을 사용할 필요가 없기 때문입니다. – ikegami