Monday, January 16, 2012

How can I navigate to a url programmatically with a correct referer header?


I have a flex application that uses the actionscript navigateToURL function to go to another system. However, a third party app that needs to be integrated checks for valid links by looking at the HTTP referer header, and it seems like that header is blank when using a navigateToURL call.



Is there a way in actionscript or javascript to programatically generate a url and go to it with a correct referer header?

1 comment:

  1. Aaah the referer header. I had a lot of frustration from this.

    Long story short, in Flex+AIR, no matter what you do (ex: manually change headers) the referer will ALWAYS be overwritten by the framework. I never actually tried it inside a browser (i.e. : not in AIR) so I can't confirm it behaves the same. You can try for yourself if you want by adding a new header to an URLRequest object like this :

    var request:URLRequest;
    request.requestHeaders.push(new URLRequestHeader("referer", "myReferer.com");


    Here's a bunch of interesting links confirming what I'm saying. I suggest you vote for the idea on Adobe Labs Ideas and comment on the bug on Adobe bugbase

    Post on Adobe Forums : HtmlLoader and "Referer" request header

    Adobe Labs Ideas : Don't set default referer in HTML Header

    Bug in Adobe bugbase : Default HTTP request referrer (referer header field) app://[app_name].swf causes denied access by some websites

    Question on the matter on SO : Intercepting network calls to force Html header referer to null

    ReplyDelete