gpt4 book ai didi

asp.net - 如何在 HttpWebRequest 期间维护 session 值?

转载 作者:行者123 更新时间:2023-12-02 02:01:26 25 4
gpt4 key购买 nike

在我的代码中,我正在向我网站的页面发送一个HttpWebRequest

request 发送到此页面时,它不会维护 Session 值。

下面是我生成网络请求的代码:

Public Overloads Shared Function ReadURL(ByVal sUrl As String) As String
Dim sBody As String
Dim oResponse As HttpWebResponse
Dim oRequest As HttpWebRequest
Dim oCookies As New CookieContainer
oRequest = WebRequest.Create("http://localhost:64802/inventory/purchase_order.aspx?id=5654")
oRequest.CookieContainer = oCookies
oResponse = oRequest.GetResponse()
Dim oReader As New StreamReader(oResponse.GetResponseStream())
sBody = oReader.ReadToEnd
oReader.Close()
oResponse.Close()
Return sBody
End Function

在Purchaseorder.aspx.vb的Page_Load上写的代码如下:

iDomains_ID = Session("Domains_ID")
iLogin_ID = Session("Login_ID")
sPage = Request.Path
If Request.QueryString.Count > 0 Then sPage &= "?" & Request.QueryString.ToString()
sPage = shared01.Encrypt(sPage, Application("PK"))

If Not User.Identity.IsAuthenticated Or iLogin_ID = 0 Then
Response.Redirect("/login.aspx?page=" & sPage)
Exit Sub
End If

上面的 code 没有获取 session 值,它重定向到 login page

那么,我如何在 HttpWebRequest 期间维护两个页面上的 session

正在寻找您的回复。

编辑

我已尝试使用 CookieContainer 类,如您在上面的代码中所见。但它根本不起作用。

最佳答案

作为替代方案,假设调用页面和被调用页面在同一个应用程序中,您可以使用 the Server.Execute method无需向网站发出单独请求即可加载页面内容:

Public Overloads Function ReadURL(ByVal sUrl As String) As String
Using writer As New StringWriter()
Server.Execute("~/inventory/purchase_order.aspx?id=5654", writer, False)
Return writer.ToString()
End Using
End Function

关于asp.net - 如何在 HttpWebRequest 期间维护 session 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17065765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com