에 HTTP POST를 통해 전송 된 XML 문서 수신 :내가 HTTP POST 나에게 전송되는 XML 문서가 펄
<?xml version="1.0" encoding="UTF-8" ?>
<DeliveryNotification eventType="newMessage">
<requestUid>sms9676187</requestUid>
<sentMessageUid>sms29282896</sentMessageUid>
....
</DeliveryNotification>
내가 다음 PARAM를 사용하여 펄 스크립트에 receieve을() 서브 루틴 :
나는 결과를 덤퍼 때#!/usr/bin/perl -w
use strict;
use CGI qw/param/;
use Data::Dumper;
my @xml = param();
warn Dumper(@xml);
와 나는 얻을 :이 실행될 때마다
는$VAR1 = '<?xml version';
'='시에 파일을 깰 것으로 보인다 gn. 테스트 할 첫 번째 eqauls 기호를 제거하면 다음 번에 깨지기 시작합니다. 이것은 equals를 이스케이프 처리하여 데이터를 보내는 쪽에서 만 해결할 수 있습니까? 아니면 Perl에서 할 수 있습니까?
* 데이터는 어떻게 전송되고 있습니까? HTTP 요청의 내용 유형은 무엇입니까? 요청 본문은 어떻게 생겼습니까? – Quentin
XML은'param()'의 결과에서 어떻게 끝나나요? 그 결과를 배열에 저장하려는 이유는 무엇입니까? 반환 된 XML을 가지고 무엇을하고 싶습니까? XML 파서를 사용하여 내용을 조사해야합니다. – reinierpost
전송되는 데이터는 게시 쿼리와 비슷하지만 "id = 22111 & name = xxx"가 아닌 XML 문서이므로 전체 XML 문서의 문자열입니다. 스칼라에 저장할 때 배열이 "1"이되기 때문에 배열에 저장 해요. 받은 데이터가 완전하고 = 기호 뒤에 잘리지 않으면 XML 파서를 사용합니다. –