我正在使用python语言中的Locust对象发送http请求(Post)。当我在一个python文件中使用Locust对象发送多个请求然后它可以工作,但是当我在单独的python文件中发送每个请求时,它不会工作,因为我得到会话过期消息。我们的要求是为每个请求使用单独的python文件,我想要读取先前请求的会话,并希望在下一个请求中分配该会话ID。不知何故,我无法在下面的代码中做。可以选择设置cookie,但不会在请求标头中设置。
subUrl='http://192.168.1.156:2016/login.aspx'
protocol='HTTP'
awaitingResponse = 1
response = self.client.post("http://192.168.1.156:2016/login.aspx", {"__EVENTTARGET":"","__EVENTARGUMENT":"","__LASTFOCUS":"","txtUserName":"Admin_Sample","txtPassword":"1","dllRole":"ProjectAdmin","cboProject":"Sample","Hdnlogin":"Please+enter+User+ID","HdnPassword":"Please+enter+Password","HdnProject":"Please+select+Project","HdnSubProject":"Please+select+Sub+Project","btnLogin":"Submit","__VIEWSTATE":VIEWSTATE1,"__VIEWSTATEGENERATOR":VIEWSTATEGENERATOR1},{"Cookie":""})
如果你能帮助我解决我的问题,我将感激不尽。
答案 0 :(得分:0)
您应该使用您的数据设置data
,并且应该在header
内发送Cookie,您可以根据需要设置用户代理。请参阅以下示例:
response = self.client.post("http://192.168.1.156:2016/login.aspx", headers = {"Cookie": "", 'User-Agent': "set_useragent"}, data = {"__EVENTTARGET":"","__EVENTARGUMENT":"","__LASTFOCUS":"","txtUserName":"Admin_Sample","txtPassword":"1","dllRole":"ProjectAdmin","cboProject":"Sample","Hdnlogin":"Please+enter+User+ID","HdnPassword":"Please+enter+Password","HdnProject":"Please+select+Project","HdnSubProject":"Please+select+Sub+Project","btnLogin":"Submit","__VIEWSTATE":VIEWSTATE1,"__VIEWSTATEGENERATOR":VIEWSTATEGENERATOR1})