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 전송을 제대로 하지 못한 것인지 궁금합니다. |
Administrator
|
서버에 제가 접근해 봐야 할 것 같습니다 서버 IP와 URL을 알려주세요.
-----Original Message----- 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 |
아 그부분은 회사 내부에서 진행되는거라,
팀장님과 내부 회의를 거친 후에 말씀 드릴수 있을 것 같습니다. 감사합니다 |
Administrator
|
예. 그런데 한가지 말씀 드릴수 있는 사항은 POST 메소드는 항상 POST로 메시지를 보낸다는 겁니다.
POST 전송시 문제가 발생하였다면, 서버에서 405를 정말로 리턴하였을 가능성이 100% 입니다. POST 전송을 지원하는지 가장 간단히 확인할 수 있는 방법은.. 제가 예전에 오픈소스로 개발하였던 SIT 이라는 도구를 사용해서 테스트 해보세요. http://dev.naver.com/projects/sit 그럼~ |
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을 모르니 스크립트 작성이 꽤 어렵네요 |
Administrator
|
원인을 파악해보니.. 현재 서버에서 스펙이 아닌 잘못된 쿠키를 내려보내고 있는 것으로 보입니다. domain=domain; path=/; secure=1, NSERR=0; 의 secure=1 이라는 항목이 문제로 보이는 데요.
서버측에서 쿠키를 그냥 secure 라고 내려보내게 수정할 수 있나요?
-----Original Message----- 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 |
Administrator
|
In reply to this post by kim hyoseok
이 오류에 대한 패치를 만들어 보았습니다.
agent 폴더내의 lib 폴더에 기존 파일중 grinder-3.9.1-patch.jar 파일을 아래 파일로 덮어써 보세요. grinder-3.9.1-patch.jar |
This post was updated on .
스크립트 검증을 수행할 때나,
Agent를 사용하여 테스트할 때나 동일 현상이 보이고 있네요.. 로드러너에서는 테스트가 무리없이 진행되니 서버쪽은 우선은 수정이 불가할꺼 같구요. 우선 저희측에서 한번 더 확인해보겠습니다. 손수 패치까지 해주실 줄은 생각도 못했는데, 힘써주셔서 감사드립니다. |
Administrator
|
에러 메시지가 약간 다를텐데요. 캡춰해서 주실 수 있으신지요? |
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에 붙여넣기 했고, 덮어씌웠습니다. |
Administrator
|
지금 사용하시는 ngrinder 버전이 3.1.1 인가요?
|
아닙니다~
현재 3.1.2 버전을 사용하고 있습니다. |
Administrator
|
https://docs.google.com/file/d/0BydpbzD7dWIFN183MGU2NkFSZjQ/edit?usp=sharing
에이전트만 이 파일을 다운받아서 해보시기 바랍니다. |
와.........
이 에이전트에서는 무리없이 잘 되네요~! 정말 감사합니다~!! |
Free forum by Nabble | Edit this page |