2013-04-20 3 views
0

나는 airplay 수신기 (TV 미디어 플레이어에 포함) 용 안드로이드 컨트롤러를 제작하려고합니다.Airplay http requests

요청을 테스트하는 데 curl을 사용하고 http 요청을 빌드하는 chrome 확장자 인 postman도 사용하고 있습니다. 우편 배달부를 사용하는 경우 서버에서 요청을 잘 이해하지만 말아서 요청을 재현하지 않아야합니다. 예를 들어

, 현재 재생 매체의 현재 위치를 요청하는 요청 :

curl -i \ 
192.168.1.42:7000/scrub \ 
-H "Connection: keep-alive" \ 
-H "Cache-Control: no-cache" \ 
-H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31" \ 
-H "Accept: */*" \ 
-H "Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4" \ 
-H "Accept-Encoding: gzip,deflate,sdch" \ 
-H "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3" \ 

결과 :

HTTP/1.1 200 OK 
Content-Type: text/parameters 
Content-Length: 38 

duration: 0.000000 
position: 0.000000 

배달부 올바른 값을 리턴하면서 :

duration: 275.838989 
position: 13.000000 

을 컬 요청에 사용 된 헤더는 다음과 같은 dev-tools를 사용하여 우편 배달부가 보낸 요청에서 온 것입니다. 크롬.

그래서 효과적으로 전송 된 요청과 dev-tools에서 볼 수있는 것 사이에 Chrome의 요청에 차이가 있습니까? 곱슬 곱슬하게도 똑같은 응답을 재생산 할 수 없다는 것은 나에게 아무런 의미가 없기 때문에이 문제는 다른 곳에서 분명히 올 수 있습니다.

답변

0

두 가지 시도 :

  • 확인을 -v와 컬의 결과를 명령 줄에서 전달하는 것을 헤더 볼 수 있습니다. 모든 것이 우체부를 통해 전송되는 헤더와 일치하는지 확인하십시오.

  • 호스트가 쿠키를 설정하고 있는지 확인하십시오 (우편 발송인의 탭). 이 경우, http://curl.haxx.se/docs/http-cookies.html

+0

네, 요청 헤더가 올바른지 -b 옵션으로 컬 요청에 쿠키를 활성화하려고, 난 원시 요청을 볼 수 wireshard을 사용했다. 쿠키가 없습니다. – Gael

+0

찾았습니다! 요청은 동일한 TCP 스트림에서 이루어져야합니다. – Gael