3
JMeter를 사용하여 바이너리 컨텐츠로 HTTP 요청을 보내려고합니다. 문서에서 바이너리 컨텐트로 파일을 보낼 수 있음을 발견했습니다. 모든 요청에는 자체 바이너리 콘텐츠가 있기 때문에 이것이 내 필요에 대한 좋은 해결책이 아니라고 생각합니다. 여기 JMeter를 사용하여 이진 본문으로 HTTP 요청 보내기
내가 달성하려고 무엇을 보여주는 내가 Perl로 쓴 클라이언트의 예입니다$date_time = sprintf "%08X", time();
$BODY_TEMPLATE = "00${date_time}0015";
$body_len = (length (sprintf($BODY_TEMPLATE,0,0)))/2;
# Here I set $TARGET & $HOST
$MSG_HEADER = "POST \/unil?URL=${TARGET} HTTP\/1.1\r\nHost: ${HOST}\r\ncontent-type:application/binary\r\ncontent-length: ${body_len}\r\n\r\n";
$body = pack ("H*", $BODY_TEMPLATE);
$message_to_send = $MSG_HEADER . $body;
# at this point I sent the entire message over a TCP socket I previously opened.
어떤 아이디어? 감사합니다. Yuval
감사합니다. Dmitri. Beanhell (및 Java)를 처음 사용했습니다. 그걸 사용하여 발견 : javax.xml.bind.DatatypeConverter.parseHexBinary (hexadecimalString); 내 코드에서 이진 데이터를 사용하도록 변환 할 수 있습니다. 일단 모든 것을 정리하면 효과가 있기를 바랍니다. – Yuval
Dmitri, 작성자가 바이너리 데이터를 요청할 때 "generatedbodystring"을 사용하는 것이 좋습니다. 내 문제가 생겼어. 비록 내 BeanShell에서 "vars.putObject ("mybody ", byteArray)"라고해도 바이너리 POST 요청을 보낼 수 없다. 그런 다음 "$ {mybody}"HTTP 요청의 본문 데이터에서 Jemeter는 암시 적으로 "toString()"을 보내기 전에 전송합니다. 이유와 수정 방법을 알지 못합니다. – invis