2014-05-23 3 views
1

현재 데이터를 수동으로 내보내는 반면 프로세스를 자동화해야합니다.XML 응답으로 GET 요청 처리

피들러를 사용하여 발생하는 일련의 동작은 다음과 같습니다.

wget, cURL, python 또는 PERL을 사용하여 어떻게 자동화합니까?

날짜와 시간은 에포크 표준입니다.

GET 요청

Archive.cgi?cmd=check_dst&start_time=1400889660&end_time=1400975940&cam=255&username=QkFCWVo=&rnd=6798 

그것은 다음과 같은 XML 응답을 반환

<result>4</result> 

다음 요청은 XML 응답

<Archive_Query><result>1</result><Size>10100</Size><st>0x537fe086</st><et>0x53808133</et><Stream_num>0</Stream_num></Archive_Query> 
01,235,164와

Archive.cgi?cmd=query&cam=255&start_time=1400889660&end_time=1400975940&dst=2&level=0&username=QkFCWVo=&rnd=6825 

입니다 다음 XML 출력을 반환 최종 GET 요청

Archive.cgi?cmd=archive_ctrl&action=cancel&stream_id=e6b1a0dc54334bef07e695f5b5640c3a&username=QkFCWVo=&rnd=675 

다음에 다음과 같은 XML 응답

e6b1a0dc54334bef07e695f5b5640c3a 

을 반환 다음 GET 요청

Archive.cgi?cmd=register_stream&login_id=201442411242611&rnd=1810 

얹는

<result>1</result> 

답변

1

Python를 들어, 나는 GET을 수행 할 requests 라이브러리를 결합하는 것이 좋습니다 다시 응답 데이터를 얻고, 다음은 XML Parser 같은 ElementTree (https://docs.python.org/2/library/xml.etree.elementtree.html)로 XML을 구문 분석하는 것입니다.

requests 데이터는 기본적으로 JSON 데이터를 처리하지만 XML 데이터는 XML parser과 결합해야합니다. 당신이 동적으로 timedelta (예를 들어, 매 시간마다 또는 무언가) 점진적으로 시간을 계산해야하는 경우의 URL의 타임 스탬프 측면에 대한

는 특정 방법으로 타임 스탬프를 포맷에 대한 strftime 방법 datetime 클래스에서 특히보고 방법.

순수 epoch 시간의 경우 gmtime() 또는 localtime() 기능을 확인하십시오.

편집 : OP의 의견에 대응 :

requests 문서. 예를 들면 다음과 같습니다.

위 링크 (https://docs.python.org/2/library/xml.etree.elementtree.html)에 ElementTree의 예제가 있습니다.예제와 함께

datetime 문서 : 같은 https://docs.python.org/2/library/datetime.html

+0

아니 파이썬 개발자하지만 예제와 함께 작업 할 수 있습니다. 내가 따라야 할 예가 있습니까? – PeanutsMonkey

+0

예제가있는 링크가 더 추가되었습니다. – khampson