2014-09-30 2 views
1

나는 간단하게 볼 수 있습니다. 그것은 그것이 있어야하는 크기의 3 분의 1 정도입니다. 심지어 나에게 그것을 만드는 세 번째는 순차적이지 않고 무작위로 두 가지로 전달됩니다. 처럼은 다음과 같습니다장고보기 잡 불완전 POST 페이로드

2014년 9월 30일 18시 47분 21초
<QueryDict: {u'payload': [u'{"zen":"Avoid administrative distraction.","hook_id":3103635,"hook":{"url":"https://api.github.com/repos/valeyard/SearchDemon/hooks/3103635","test_url":"https://api.github.com/repos/valeyard/SearchDemon/hooks/3103635/test","id":3103635,"name":"web","active":true,"events":["push"],"config":{"secret":"","url":"http://searchdemon.pythonanywhere.com/searchdemon/stackcommits/","content_type":"json","insecure_ssl":"0"},"last_response":{"code":null,"status":"unused","message":null},"updated_at":"2014-09-29T20:56:33Z","created_at":"2014-09-29T20:56:33Z"},"repository":{"id":24075885,"name":"SearchDemon","full_name":"valeyard/SearchDemon","owner":{"login":"valeyard","id":5278331,"avatar_url":"https://avatars.githubusercontent.com/u/5278331?v=2","gravatar_id":"","url":"https://api.github.com/users/valeyard","html_url":"https://github.com/valeyard","followers_url":"https://api.github.com/users/valeyard/followers",

2014년 9월 30일 18시 47분 21초
.github.com/repos/valeyard/SearchDemon/issues{/number}","pulls_url":"https://api.github.com/repos/valeyard/SearchDemon/pulls{/number}","milestones_url":"https://api.github.com/repos/valeyard/SearchDemon/milestones{/number}","notifications_url":"https://api.github.com/repos/valeyard/SearchDemon/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/valeyard/SearchDemon/labels{/name}","releases_url":"https://api.github.com/repos/valeyard/SearchDemon/releases{/id}","created_at":"2014-09-15T22:10:54Z","updated_at":"2014-09-24T17:12:44Z","pushed_at":"2014-09-29T20:42:34Z","git_url":"git://github.com/valeyard/SearchDemon.git","ssh_url":"[email protected]:valeyard/SearchDemon.git","clone_url":"https://github.com/valeyard/SearchDemon.git","svn_url":"https://github.com/valeyard/SearchDemon","homepage":null,"size":1172,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":tr

어떤 아이디어? PA에서 인프라 문제가 아니라는 말을 들었으므로 내 목표에는 가장 가능성이 높습니다. 하지만 난 아무 생각이있어

+0

게시 방법 게시 할 내용의 코드를 게시 할 수 있습니까? – awwester

+0

Github webhook POST는 Github이 다음을 사용하여 제대로 전송하는지 테스트했습니다. http://requestb.in/qhgo7nqh?inspect Github에서 보낸 페이로드를 확인할 수 있습니다. – user1079404

답변

1

로깅 아티팩트를보고있는 것 같아요. 메시지가 단일 POST로 전달되지만 너무 길기 때문에 로거가 메시지를 분할합니다. print (서버 로그로 보내는 메시지) 대신 print >> sys.stderr, request.body을 사용하면 잘림없이 오류 로그에 나타납니다.

1

당신의 print 문이 암시 적으로 발생하는 str (request.body)의 출력을 잘라내지만 POST의 실제 내용은 거기에 있다고 생각합니다. 이것을 시도하십시오 :

import pprint 

@csrf_exempt 
def stackcommits(request): 
    pprint.pprint(request.body) 
    return HttpResponse("") 
+0

그냥 시도했지만 여전히 동일하게 보이고 있습니다. Github이 urlencode 헤더 (json에 apposed 됨)를 사용하게 만들 때 인쇄 할 때 서버 로그에 3 개의 개별 청크가 계속 표시되는 것 같습니다. 중간에 어딘가에, 그리고 요청이 끝난다. 그러나 그 사이에는 무작위로 빠진 것이 많이 있습니다. 내 서버가 데이터를 제대로 수신하는지 여부를 테스트하는 다른 방법을 생각해 볼 수 있습니까? – user1079404