2014-06-23 2 views
0

나는 cerrypy 서비스가 잘 실행되고 있으며, 텍스트 영역 만있는 양식을 포함하고 있으며, 입력 텍스트는 동일한 서비스 내에서 RE에 의해 변환되고 변환 된 텍스트를 제공합니다 화면에서 문제는 명령 행에서 데이터를 전송해야한다는 것입니다. 여기서 찾은 문서를 따라 말았습니다 : http://curl.haxx.se/docs/httpscripting.html#Forms_explained,하지만 제대로 작동하지는 않습니다 :체리 파이 웹 서비스 내에서 컬을 사용하여 양식을 채우는 방법

양식이 여기 있습니다. :

<form method="POST" action="NMT"> 
<div><table width=100% bgcolor="D2CAC1"><tr><td> 
<textarea class="richtextbox" name="contents" style="width:100%;height:300px"> 
</textarea> 
</td></tr></table></div> 
<a title="unificar"><input type="submit" value=" trapümün " /></a> 
</form> 

그리고 기능이 있습니다 :

012 나는 또한 POST를 변경 한

curl --data-urlencode "contents=zomo" http://www.chandia.net:8080 
curl --data "contents=zomo" http://www.chandia.net:8080 
curl --data "contents=zomo&submit=%20trapümün%20" http://89.140.140.36:8080 

이 시도에 도착 :

나는이 시도했습니다

curl "http://www.chandia.net:8080?contents=zomo" 
curl "http://www.chandia.net:8080?contents=zomo&trapümün" 
curl "http://www.chandia.net:8080?contents=zomo&%20trapümün%20" 
curl "http://www.chandia.net:8080?contents=zomo&submit=%20trapümün%20" 

항상 약간 변화하지만, 그 결과를 말한다 :

<body> 
    <h2>400 Bad Request</h2> 
    <p>Unexpected body parameters: contents</p> 
    <pre id="traceback">Traceback (most recent call last): 
File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 656, in respond 
response.body = self.handler() 
File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 188, in __call__ 
self.body = self.oldhandler(*args, **kwargs) 
File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 40, in __call__ 
raise sys.exc_info()[1] 
HTTPError: (400, 'Unexpected body parameters: contents') 

제안 사항이 있습니까? 아니면 다른 방법이있을 수 있습니다 .... ....? 는 것 URL에 특정에 핸들러가 필요합니다 사전에

덕분에

답변

1

은 핸들러의 정의는

def NMT(self, contents) 

또는

def NMT(self, *args, **kwargs) 

편집 ... 다음을 포함해야 .

curl --data-urlencode "contents=zomo" http://www.chandia.net:8080/NMT 

희망이 있습니다.

+0

내가 원래 질문을 수정 한 내용을 추가하면 그 방법이 정확합니까? –

+0

실제로 내가 시도한 것을 보았을 때, 조언 한 것은 그 중 하나입니다. curl --data-urlencode "contents = zomo"http://www.chandia.net:8080 –

+0

질문에 컬 요청이 있습니다./NMT 처리기로가는 것을 보여주지 마십시오. 기본적으로 /에 갈 요청은 def 색인에 의해 처리됩니다. 현재 변수 내용을 허용하지 않습니다. 따라서보고있는 오류가 정확합니다. –

관련 문제