ASP.NET (vb.net) custom HTTP headers

Hi All,

The wider picture to this problem is the integration of an ASP.NET application with Google Apps - but that is a way down the line for now.

All I am trying to do at this stage is append the HTTP Header of a page and pass it to another page (which is the basic premise of Google AuthSub for Google Apps).

In the following file: http://www.********.com/header1.aspx I have the following Sub Page_Load:

---------------------------------------

Sub Page_Load(Sender As Object, E As EventArgs)
      
        Response.AppendHeader("Test", "Test")
      
      Response.Redirect("header2.aspx")
      
End Sub

---------------------------------------

The simplest of things that *should* add the header "Test" to the GET Request for "header2.aspx". However, header2.aspx does not output a header value called "Test"!

Header 2 simply has this in the body:

---------------------------------------

<%= Request.ServerVariables("ALL_HTTP") %>

---------------------------------------

This is mad because it's so simple which is kind of why I am lost - there is not much documentation online for such a straightforward issue.

Any help will be massively appreciated.
LVL 6
courtthreeAsked:
Who is Participating?
 
Alfred A.Connect With a Mentor Commented:
Have you seen the following link:

http://www.asp101.com/tips/index.asp?id=161


or you could try the following:

Response.AppendHeader("Refresh", "2; URL=header2.aspx");

or you could just put this in your ASP.NET page source:

<head>
<META HTTP-EQUIV="refresh" CONTENT="2;URL=header2.aspx; text/html; charset=us-ascii;">
</head>
0
 
sandipshahCommented:
I am not much of an ASP geek, but why don't you use Python / Java?  Everything that you need is already implemented there.

And Google is trying to move everything to OAuth ... if you can, stay away from ClientLogin & AuthSub.

Ss
0
 
courtthreeAuthor Commented:
Thanks Alfred,

That does start to point me in the right direction but the solution offered in that link doesn't work directly.

Given the nature of this code block:

---------------------------------------

Sub Page_Load(Sender As Object, E As EventArgs)
     
        Response.AppendHeader("Test", "Test")
        Response.Redirect("header2.aspx")
     
End Sub

---------------------------------------

Can you tell me how the redirect should work?
0
 
courtthreeAuthor Commented:
Thank you for your continued input but I have no discovered that using the methids described above send the headers as "Response" and Google requires "Request" objects!

I have now written the following which gets me through Google authentication:

---------------------------------------------------

<script runat="server">

Dim t As String

Sub Page_Load(Sender As Object, E As EventArgs)

      t = Request.QueryString("token")
      
      Dim googleRequest = HttpWebRequest.Create("https://www.google.com/accounts/AuthSubSessionToken")
      googleRequest.Method = "GET"
      googleRequest.Headers.Set("Authorization", "AuthSub token=""" & t & """")
      Dim googleResponse = googleRequest.GetResponse()
      
      outputLabel.Text = googleResponse.toString()
      
End Sub

</script>

---------------------------------------------------

The problem I now have is accessing the content of the "googleRequest.GetResponse()" method.

However, I realise that your previous answers were correct for the original question so I think it would only be fair if I accept your answer and post this as a new question. By all means, go and answer the new one!
0
All Courses

From novice to tech pro — start learning today.