简体   繁体   中英

HTTP/1.1 401 Unauthorized in Response Headers in Load runner for GET Requests

I am new to Load runner , Am facing am issue while play back of the script

LR 12.50

OS Windows 7 SP2

Protocol is Mobile HTTP/HTML

Recording mode is Proxy

Let me explain my scenario

While executing following function:

  web_custom_request("authenticate", 

        "URL=https://ws-xx.xxx.com/tcs/rest/authenticate?include=user,company",     
        "Method=POST", 
        "Resource=0", 
        "RecContentType=application/json", 
        "Referer=", 
        "Snapshot=t1.inf", 
        "Mode=HTTP", 
        "EncType=application/json",
        "Body={\"password\":\"xxx\",\"username\":\"xxx\",\"version\":\"1.0.40\"}", 
        LAST);

For the above POST method , am getting response as below

   HTTP/1.1 200 OK\r\n
   Date: Tue, 13 Oct 2015 19:19:21 GMT\r\n
   Server: Apache-Coyote/1.1\r\n
   Content-Type: application/json\r\n
   Set-Cookie: dtCookie=DBE9311E44E5C47902702DC762030583|TXlBcHB8MQ; Path=/;
   Domain=.xxx.com\r\n    
   Connection: close\r\n
   Transfer-Encoding: chunked\r\n

Which is fine ,Now the second custom request is shown below

  web_custom_request("profiles", 
        "URL=https://ws-test.xxx.com/tcs/rest/profiles", 
        "Method=GET", 
        "Resource=1", 
        "RecContentType=application/json", 
        "Referer=", 
        "Snapshot=t2.inf", 
        LAST);

For the above GET requests in the replay logs am getting:

401 unauthorized error.

 GET /tcs/rest/profiles HTTP/1.1\r\n

     User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT)\r\n

    Accept: */*\r\n

    Connection: Keep-Alive\r\n

     Host: ws-test.xxx.com\r\n

   Cookie: dtCookie=DBE9311E44E5C47902702DC762030583|TXlBcHB8MQ\r\n
\r\n
 t=5921ms: 172-byte response headers for "https://ws-test.xxx.com/tcs/rest/profiles" (RelFrameId=1, Internal ID=2)

    HTTP/1.1 401 Unauthorized\r\n

   Date: Tue, 13 Oct 2015 19:19:22 GMT\r\n

   Server: Apache-Coyote/1.1\r\n

   Content-Type: application/json\r\n

    Connection: close\r\n

    Transfer-Encoding: chunked\r\n
   \r\n

t=5922ms: 4-byte chunked response overhead for "https://ws-test.xxx.com/tcs/rest/profiles" (RelFrameId=1, Internal ID=2)
    8b\r\n

 t=5923ms: 139-byte chunked response body for "https://ws-test.xxx.com/tcs/rest/profiles" (RelFrameId=1, Internal ID=2)
     {"errors":[{"message":"Authentication required to access endpoint","status":"401","code":"



 NotAuthenticated","header":"Not Authenticated"}]}

I refereed this link .

My understanding from the above custom request , login is success but the next subsequent requests are getting failed.

I have used web_cleanup_cookies() function but didn't solve the issue .

I tried to capture the Cookie ID using the below function

web_reg_save_param("COOKIE_ID",
                        "LR= Cookie: dtCookie=" ,
                        "RB= |TXlBcHB8MQ\r\n",
                        "Ord=All",
                        "RelFrameId=1",
                        "Search=All",
                        LAST);

web_add_header("Cookie",lr_eval_string("{COOKIE_ID}"));

Now question is where to place parameter "COOKIE_ID" in my script while there is

no value in script for COOKIE_ID?

How to handle this issue ? Can anybody please help me .

Please add below headers to the script

web_set_sockets_option("SSL_VERSION","TLS");
web_set_user("username", "password", "domain:portno" );
web_set_sockets_option("INITIAL_BASIC_AUTH","1");
  1. In Vugen, Select snapshot view and compare both record and replay requests, suspecting there might be a missing of header in replay request.
  2. If cookie is the only thing changing you can add it by using web_add_cookie function.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM