Post 전송 방식 문의

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Post 전송 방식 문의

kim hyoseok
parameters = (NVPair("id", id),
                NVPair("pwd", password),
                NVPair("r_url", r_url),
                NVPair("type", "html"))
               
result = requestPost.POST(URL, parameters)


2013-03-15 17:46:04,560 INFO URL -> 405 Method Not Allowed, 1293 bytes    


위와 같이 post 전송 test를 진행하였는데, 405 에러메시지가 뜨네요.

post 전송을 제대로 했는데 서버에서 승인이 안되어 뜬 에러인지,
post 전송을 제대로 하지 못한 것인지 궁금합니다.
Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

junoyoon
Administrator

서버에 제가 접근해 봐야 할 것 같습니다

서버 IP와 URL을 알려주세요.

 

-----Original Message-----
From: "kim hyoseok [via ngrinder]"<[hidden email]>
To: "junoyoon"<[hidden email]>;
Cc:
Sent: 2013-03-15 (금) 17:47:56
Subject: Post 전송 방식 문의

parameters = (NVPair("id", id),
                NVPair("pwd", password),
                NVPair("r_url", r_url),
                NVPair("type", "html"))
               
result = requestPost.POST(URL, parameters)


2013-03-15 17:46:04,560 INFO URL -> 405 Method Not Allowed, 1293 bytes    


위와 같이 post 전송 test를 진행하였는데, 405 에러메시지가 뜨네요.

post 전송을 제대로 했는데 서버에서 승인이 안되어 뜬 에러인지,
post 전송을 제대로 하지 못한 것인지 궁금합니다.


If you reply to this email, your message will be added to the discussion below:
http://ngrinder.642.n7.nabble.com/Post-tp462.html
To start a new topic under ngrinder-user-kr, email [hidden email]
To unsubscribe from ngrinder-user-kr, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

kim hyoseok
아 그부분은 회사 내부에서 진행되는거라,
팀장님과 내부 회의를 거친 후에 말씀 드릴수 있을 것 같습니다.

감사합니다
Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

junoyoon
Administrator
예. 그런데 한가지 말씀 드릴수 있는 사항은 POST 메소드는 항상 POST로 메시지를 보낸다는 겁니다.

POST 전송시 문제가 발생하였다면, 서버에서 405를 정말로 리턴하였을 가능성이 100% 입니다.

POST 전송을 지원하는지 가장 간단히 확인할 수 있는 방법은..

제가 예전에 오픈소스로 개발하였던 SIT 이라는 도구를 사용해서 테스트 해보세요.

http://dev.naver.com/projects/sit

그럼~
Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

kim hyoseok
java.net.ProtocolException: Bad Set-Cookie header: WMONID=NYLonY30s_Z; Expires=Thu, 20-Mar-2014 08:19:28 GMT; Path=/, info=oPw=1&fPw=0; domain=domain; path=/, PublicToken=7vto9t61m4YkKDX4H2MsRL%2FzOxKqVp9%2BbJmWRCrkiMpoNG1J5PrVBOEElo8XG1Ny74qeTkkWEf%2B0pN0PEzzIiFtJQcAVj8F5FNdAZ7JUOu7UuUZHsr1%2FgZVlhgNxW2y9V67BNS6dF2EDi8xLDjpkTve251u044abSmdPrGqC1g8p2kEVZkLZVFtEiXshV5JNQjPyRkqX0h1Ws7bxygF6zYd%2BuY2BU%2FSqhZbNWjnqbpE%3D; domain=domain; path=/, SecureToken=hppwOfRLO5bPKhE%2BbA5kN33ztY02PENi5%2B5KxMHvwpKfFuMzMSVKoFt0oRdGpJRpaw9cHD12jeHuQL72hzq0dCoItJt07RUU7xOetoKsFEJPo%2FdPB7EiLzTvVbRhZgs4; domain=domain; path=/; secure=1, NSERR=0; domain=domain; path=/, NSCHK=; domain=domain; expires=Mon, 31-Dec-1979 15:00:00 GMT; path=/
Expected ';' or ',' at position 593



Security 모드 사용시에는 반드시 대상 호스트를 기재하라는 걸 인식하지 못했었네요.
테스트 대상 서버 란에 호스트:IP쌍을 넣으니 위와 같은 에러가 출력되었습니다.
그리고 테스트 서버 로그를 보니 nGrinder에서 서버에 접근한 로그가 찍혀 있구요.
위의 에러는 path=/ 마지막에 , or ; 문자가 없어서 발생한 것으로 보이는데,
LoadRunner에서는 에러 없이 테스트 되는 걸 봐선 테스트 서버 문제는 아닌것 같구요
nGrinder에서 설정을 해야 하거나 하는 문제인거 같습니다.

확인 부탁드립니다~!

ps.
POST 방식에는 무리가 없네요~
echo server를 만들어 테스트를 해보니 잘 되네요~
Jython을 모르니 스크립트 작성이 꽤 어렵네요
Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

junoyoon
Administrator

원인을 파악해보니.. 현재 서버에서 스펙이 아닌 잘못된 쿠키를 내려보내고 있는  것으로 보입니다.  

domain=domain; path=/; secure=1, NSERR=0; 의 secure=1 이라는 항목이 문제로 보이는 데요. 

 

 

secure(Optional) 해당 Cookie는 secure channel로 전송되어야만 함을 의미한다.

 

 

서버측에서 쿠키를 그냥 secure 라고 내려보내게 수정할 수 있나요?

 

-----Original Message-----
From: "kim hyoseok [via ngrinder]"<[hidden email]>
To: "junoyoon"<[hidden email]>;
Cc:
Sent: 2013-03-20 (수) 17:33:54
Subject: RE: Post 전송 방식 문의

java.net.ProtocolException: Bad Set-Cookie header: WMONID=NYLonY30s_Z; Expires=Thu, 20-Mar-2014 08:19:28 GMT; Path=/, info=oPw=1&fPw=0; domain=domain; path=/, PublicToken=7vto9t61m4YkKDX4H2MsRL%2FzOxKqVp9%2BbJmWRCrkiMpoNG1J5PrVBOEElo8XG1Ny74qeTkkWEf%2B0pN0PEzzIiFtJQcAVj8F5FNdAZ7JUOu7UuUZHsr1%2FgZVlhgNxW2y9V67BNS6dF2EDi8xLDjpkTve251u044abSmdPrGqC1g8p2kEVZkLZVFtEiXshV5JNQjPyRkqX0h1Ws7bxygF6zYd%2BuY2BU%2FSqhZbNWjnqbpE%3D; domain=domain; path=/, SecureToken=hppwOfRLO5bPKhE%2BbA5kN33ztY02PENi5%2B5KxMHvwpKfFuMzMSVKoFt0oRdGpJRpaw9cHD12jeHuQL72hzq0dCoItJt07RUU7xOetoKsFEJPo%2FdPB7EiLzTvVbRhZgs4; domain=domain; path=/; secure=1, NSERR=0; domain=domain; path=/, NSCHK=; domain=domain; expires=Mon, 31-Dec-1979 15:00:00 GMT; path=/
Expected ';' or ',' at position 593


Security 모드 사용시에는 반드시 대상 호스트를 기재하라는 걸 인식하지 못했었네요.
테스트 대상 서버 란에 호스트:IP쌍을 넣으니 위와 같은 에러가 출력되었습니다.
그리고 테스트 서버 로그를 보니 nGrinder에서 서버에 접근한 로그가 찍혀 있구요.
위의 에러는 path=/ 마지막에 , or ; 문자가 없어서 발생한 것으로 보이는데,
LoadRunner에서는 에러 없이 테스트 되는 걸 봐선 테스트 서버 문제는 아닌것 같구요
nGrinder에서 설정을 해야 하거나 하는 문제인거 같습니다.

확인 부탁드립니다~!


If you reply to this email, your message will be added to the discussion below:
http://ngrinder.642.n7.nabble.com/Post-tp462p480.html
To start a new topic under ngrinder-user-kr, email [hidden email]
To unsubscribe from ngrinder-user-kr, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

junoyoon
Administrator
In reply to this post by kim hyoseok
이 오류에 대한 패치를 만들어 보았습니다.

agent 폴더내의 lib 폴더에 기존 파일중 grinder-3.9.1-patch.jar 파일을 아래 파일로 덮어써 보세요.

grinder-3.9.1-patch.jar
Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

kim hyoseok
This post was updated on .
스크립트 검증을 수행할 때나,
Agent를 사용하여 테스트할 때나
동일 현상이 보이고 있네요..


로드러너에서는 테스트가 무리없이 진행되니
서버쪽은 우선은 수정이 불가할꺼 같구요.

우선 저희측에서 한번 더 확인해보겠습니다.

손수 패치까지 해주실 줄은 생각도 못했는데,
힘써주셔서 감사드립니다.
Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

junoyoon
Administrator

에러 메시지가 약간 다를텐데요. 캡춰해서 주실 수 있으신지요?

Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

kim hyoseok
Agent에서 발생한 오류 메시지
java.net.ProtocolException: Bad Set-Cookie header: info=oPw=1&fPw=0; domain=domain111.org; path=/, PublicToken=v991aHXUAo5o03Z5SRPYCk0eUvUkb3JBW4ArgZ4oI8UR0i0mP3wy%2FlgyAs0SA3Py%2Biziq4GOfhfPLCKNvb7WpOWCd2gnsRLlPAZHTpknvPer7Seda0TnlapfhfGMwv%2FNMDb5L8DAHu8Zllj8aZsL1iZCPZroFrvQdzyk3AnNB9m9CJEJ%2BLNE5MVa3bPtE%2FZXbFBc6MBacB8ouROQvQIk5eHE4gm%2FTf7%2BiDIJ0GVdo9k%3D; domain=domain111.org; path=/, SecureToken=Z9LuLozSYu4wnBRTHO68xounwIggwhYqKPd6lSpOBKAYCyO0H2xO7OHv%2FhjrzVXA1VXmZD4bB46uybIQjpEVAHyDfujHkBksPszXcXeYbToy2ypOdTbKgHmNXtrqZbyA; domain=domain111.org; path=/; secure=1, NSERR=0; domain=domain111.org; path=/, NSCHK=; domain=domain111.org; expires=Mon, 31-Dec-1979 15:00:00 GMT; path=/
Expected ';' or ',' at position 524
        at HTTPClient.Cookie.parse(Cookie.java:261) ~[grinder-3.9.1-patch.jar:na]
        at HTTPClient.CookieModule.handleCookie(CookieModule.java:472) ~[grinder-httpclient-3.9.1.jar:na]
        at HTTPClient.CookieModule.responsePhase1Handler(CookieModule.java:421) ~[grinder-httpclient-3.9.1.jar:na]
        at HTTPClient.HTTPResponse.handleResponse(HTTPResponse.java:745) ~[grinder-httpclient-3.9.1.jar:na]
        at HTTPClient.HTTPResponse.getData(HTTPResponse.java:510) ~[grinder-httpclient-3.9.1.jar:na]
        at net.grinder.plugin.http.HTTPRequest$AbstractRequest.getHTTPResponse(HTTPRequest.java:1290) ~[grinder-http-3.9.1.jar:na]
        at net.grinder.plugin.http.HTTPRequest.POST(HTTPRequest.java:811) ~[grinder-http-3.9.1.jar:na]
        at net.grinder.plugin.http.HTTPRequest.POST(HTTPRequest.java:788) ~[grinder-http-3.9.1.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_07]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_07]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_07]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_07]
        at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyObject.__call__(PyObject.java:422) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyObject.__call__(PyObject.java:426) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyMethod.__call__(PyMethod.java:139) ~[jython-standalone-2.5.3.jar:na]
        at org.python.pycode._pyx1.__call__$3(C:\Users\kimdals\.ngrinder_agent\file-store\kimdals\current\Sign-HTTP.py:48) ~[na:na]
        at org.python.pycode._pyx1.call_function(C:\Users\kimdals\.ngrinder_agent\file-store\kimdals\current\Sign-HTTP.py) ~[na:na]
        at org.python.core.PyTableCode.call(PyTableCode.java:165) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyBaseCode.call(PyBaseCode.java:301) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyBaseCode.call(PyBaseCode.java:194) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyFunction.__call__(PyFunction.java:387) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:220) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyMethod.__call__(PyMethod.java:211) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyMethod.__call__(PyMethod.java:206) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyObject.invoke(PyObject.java:3555) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyInstance.instance___call__(PyInstance.java:351) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyInstance.__call__(PyInstance.java:342) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyObject.__call__(PyObject.java:371) ~[jython-standalone-2.5.3.jar:na]
        at net.grinder.scriptengine.jython.JythonScriptEngine$JythonWorkerRunnable.run(JythonScriptEngine.java:250) ~[grinder-core-3.9.1.jar:na]
        at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:118) ~[grinder-core-3.9.1.jar:na]
        at java.lang.Thread.run(Unknown Source) [na:1.7.0_07]



Controller에서 스크립트 검증때 발생한 오류 메시지
java.net.ProtocolException: Bad Set-Cookie header: info=oPw=1&fPw=0; domain=domain111.org; path=/, PublicToken=45OrqPiil3QXNTlWdUi9dNG65cQea%2FCQtWbkj%2FRzTwaMgp2cg9yIIHPJxex9wRcWRCIINqemnXsijdQaCHVSN4bx8%2Fd7j7YqIJ1luhToe1qlDTJb6fo9SgZTUHJbXlLzHMF77l4vbNop91arzjMHQUupimNL58o58ERpyNUPdzEVXQsF4H1evKZslHkfyCl2yGuqF8u6asBIV5mOmt4MqM7xgGY8nSZVOOZSm4TQQ5g%3D; domain=domain111.org; path=/, SecureToken=4ylYSCnv1Xl6jUUbZeuj4p6MuatFb0502do0nzX9MTOtnCsrjmvOe0Sv0%2BtAf10c9ZwB4H%2F6UDslTBhBOk23uv7im4qLOUNaldliDC4KtfwekKAo3gV3vmxQGw6lsLR%2F; domain=domain111.org; path=/; secure=1, NSERR=0; domain=domain111.org; path=/, NSCHK=; domain=domain111.org; expires=Mon, 31-Dec-1979 15:00:00 GMT; path=/
Expected ';' or ',' at position 520
        at HTTPClient.Cookie.parse(Cookie.java:252) ~[grinder-httpclient-3.9.1.jar:na]
        at HTTPClient.CookieModule.handleCookie(CookieModule.java:472) ~[grinder-httpclient-3.9.1.jar:na]
        at HTTPClient.CookieModule.responsePhase1Handler(CookieModule.java:421) ~[grinder-httpclient-3.9.1.jar:na]
        at HTTPClient.HTTPResponse.handleResponse(HTTPResponse.java:745) ~[grinder-httpclient-3.9.1.jar:na]
        at HTTPClient.HTTPResponse.getData(HTTPResponse.java:510) ~[grinder-httpclient-3.9.1.jar:na]
        at net.grinder.plugin.http.HTTPRequest$AbstractRequest.getHTTPResponse(HTTPRequest.java:1290) ~[grinder-http-3.9.1.jar:na]
        at net.grinder.plugin.http.HTTPRequest.POST(HTTPRequest.java:811) ~[grinder-http-3.9.1.jar:na]
        at net.grinder.plugin.http.HTTPRequest.POST(HTTPRequest.java:788) ~[grinder-http-3.9.1.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_07]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_07]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_07]
        at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_07]
        at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyObject.__call__(PyObject.java:422) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyObject.__call__(PyObject.java:426) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyMethod.__call__(PyMethod.java:139) ~[jython-standalone-2.5.3.jar:na]
        at org.python.pycode._pyx1.__call__$3(${NGRINDER_HOME}\script\kimdals\Sign-HTTP.py:48) ~[na:na]
        at org.python.pycode._pyx1.call_function(${NGRINDER_HOME}\script\kimdals\Sign-HTTP.py) ~[na:na]
        at org.python.core.PyTableCode.call(PyTableCode.java:165) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyBaseCode.call(PyBaseCode.java:301) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyBaseCode.call(PyBaseCode.java:194) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyFunction.__call__(PyFunction.java:387) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:220) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyMethod.__call__(PyMethod.java:211) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyMethod.__call__(PyMethod.java:206) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyObject.invoke(PyObject.java:3555) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyInstance.instance___call__(PyInstance.java:351) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyInstance.__call__(PyInstance.java:342) ~[jython-standalone-2.5.3.jar:na]
        at org.python.core.PyObject.__call__(PyObject.java:371) ~[jython-standalone-2.5.3.jar:na]
        at net.grinder.scriptengine.jython.JythonScriptEngine$JythonWorkerRunnable.run(JythonScriptEngine.java:250) ~[grinder-core-3.9.1.jar:na]
        at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:118) ~[grinder-core-3.9.1.jar:na]
        at java.lang.Thread.run(Thread.java:722) [na:1.7.0_07]



에러 메시지는 변경된게 없는거 같습니다.
주신 jar파일은 agent lib에 붙여넣기 했고, 덮어씌웠습니다.
Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

junoyoon
Administrator
지금 사용하시는 ngrinder 버전이 3.1.1 인가요?
Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

kim hyoseok
아닙니다~
현재 3.1.2 버전을 사용하고 있습니다.
Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

junoyoon
Administrator
https://docs.google.com/file/d/0BydpbzD7dWIFN183MGU2NkFSZjQ/edit?usp=sharing

에이전트만 이 파일을 다운받아서 해보시기 바랍니다.
Reply | Threaded
Open this post in threaded view
|

RE: Post 전송 방식 문의

kim hyoseok
와.........

이 에이전트에서는 무리없이 잘 되네요~!

정말 감사합니다~!!