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?
Aaah the referer header. I had a lot of frustration from this.
ReplyDeleteLong 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