2017-02-17 7 views
2

Tasker 앱을 사용하여 간단한 HTTP POST 요청을 만들고 있는데 제대로 작동하지만 어떻게 든 내 주장을 보내지 않습니다. HTTP GET이 제대로 작동합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 텍스트 : : 서버가 수행Tasker App : 내 HTTP POST가 매개 변수를 보내지 않는 이유는 무엇입니까?

유일한 것은 JSON은 수신 된 모든 매개 변수를 캐릭터 라인 화하고처럼 돌려 주어

가 GET을하고있다 HTTP {매개 변수} :

enter image description here

HTTP POST가 작동하면 "text : {}"응답을 반환하지만 매개 변수를 반환하지 않습니다.

enter image description here

지금 때때로 "잘못된 요청 오류 400"

내가 다른 서버로 테스트 한이 문제가 계속 ...

Here's a fiddle 같은에 도착 후 요청을 보낼 수를 보여줍니다 서버 및 둘 다 작동합니다.

나는 시험에 당신을 위해 XML로 내 작업을 내 보낸 : 당신이 할 수있는 사전들에서 download it here

감사합니다!

답변

0

나는 당신이 제공 한 것을 가지고 약간의 테스트를 해 보았습니다. 게시 매개 변수로 서버에 연결했지만 %HTTPR이 채워지지 않는 것으로 보입니다. Tasker 문서에 따르면 응답이 "텍스트 기반"인 경우이 변수가 채워지 겠지만 실제로는 그렇지 않습니다. 나는 Tasker가 "텍스트 기반"이라고 생각하는 것을 알지 못할지 모르지만 행운이없는 "text/plain"과 "text/html"을 시도했다.

해결 방안은 게시 작업의 "출력 파일"필드를 사용하여 응답을 파일에 저장하는 것입니다. ("내용 유형"을 비워두면 작동하지 않습니다.) 그런 다음 파일을 변수로 읽고 필요한 작업을 수행 할 수 있습니다.

이것은 Tasker의 결함이거나, 설명서가 잘못되었거나, 작동시키기 위해 필요한 것의 오해입니다. 그러나이 해결 방법을 통해 필요한 것을 얻을 수 있습니다.

업데이트 된 작업 내보내기가 포함 된 GitHub 저장소에 대한 link입니다. 장치에서 작동하려면 출력 파일 이름/위치를 변경해야 할 수 있습니다.


업데이트 : 나는 위의 솔루션을 게시 때문에, 나는 "테스 커에 대한 RESTask"라는 테스 커 플러그인을 통해 실행했다. 분명히, Tasker는 별도의 플러그인이 필요하다는 HTML 요청에 대한 충분한 문제가 있습니다. POST로이 플러그인을 테스트했는데 제대로 작동합니다. 따라서이 방법이 좋습니다. 플러그인은 Google Play 스토어에서 사용할 수 있습니다.

+0

감사합니다. @Cheticamp. 그것은 나를 위해 일했다! 불행히도 필자는 스크립트를 앱으로 내보낼 계획이므로 외부 플러그인을 사용할 수 없습니다. 하지만 그건 Tasker의 완전히 이상한 버그입니다. 그것은 % HTTPD와 Content Type에 대한 것이므로 % HTTPL은 Content Type을 비워두면 정확한 응답 길이를 표시하지만 % HTTPD는 아무것도 표시하지 않습니다.그리고 콘텐츠 유형을 설정하면 매개 변수를 보내지 않습니다. 서버 측에서도 서버 측을 테스트 했으므로 실제로는 그렇지 않습니다. ( 어쨌든 파일을 게시하고 싶기 때문에 필요하지 않습니다. 매개 변수를 다시 얻으려면 응답을 보내기 만하면됩니다. 도움을 주셔서 감사합니다. –

+0

그것이 훌륭하게 작동합니다.이 결함이 Tasker에있는 것처럼 보입니다. 대부분의 POST 요청은 OK가 아닌 다른 응답을 찾는다 고 생각하지 않기 때문에 아마도 많이 나오지 않을 것입니다. – Cheticamp

+0

그래, 많은 질문을 찾지 못했기 때문에 사람들이 생각하지 못했던 것 같습니다. 이 오류를 자주 가져 오십시오. "확인"을 얻으려면 Btw 파일을 작성해야합니다. 왜냐하면 % HTTPD를 사용하여 가져올 경우 컨텐트 유형을 설정해야하고, 설정하면 매개 변수가 아닙니다. 보냈습니다. –