rcbuchanan
asked on
Error 'Content is not allowed in prolog.' trying to CFHTTP MSNLive.net api
Can you help?
If I run this URL: (with real appid) in a web browser ... it works).
BUT if I run the URL through CFHTTP GET (see code below) ... I get this error:
An error occured while Parsing an XML document.
: 'Content is not allowed in prolog.'
:
: http://api.search.live.net/xml.aspx?Appid=123456789012345678901234567890&query=&sources=news
:
: The error occurred in C:\Inetpub\wwwroot\testmsn live.cfm: line 16
: 14 : <cfhttp method="GET" url="http://api.search.live.net/xml.aspx#livebody#">
: 15 :
: 16 : <cfset live_doc = #xmlparse(cfhttp.fileconte nt)#>
: 17 : <cfdump var="#live_doc#">
: 18 :
Note: for test reasons ... (see code) I've output the #livebody# to tell myself what URL string I'm trying to pass.
Shown as '#livebody# outputs as '?Appid=123456789012345678 9012345678 90&query=& sources=ne ws'
* where appid is not real on EE here.
If I run that livebody output in a browser ... it works.
What am I doing wrong!? any ideas?
Richard
SUPPORTING INFORMATION : Live.Net FAQ Sheet for API
http://search.live.com/developers/s/API%20Basics.pdf
If I run this URL: (with real appid) in a web browser ... it works).
BUT if I run the URL through CFHTTP GET (see code below) ... I get this error:
An error occured while Parsing an XML document.
: 'Content is not allowed in prolog.'
:
: http://api.search.live.net/xml.aspx?Appid=123456789012345678901234567890&query=&sources=news
:
: The error occurred in C:\Inetpub\wwwroot\testmsn
: 14 : <cfhttp method="GET" url="http://api.search.live.net/xml.aspx#livebody#">
: 15 :
: 16 : <cfset live_doc = #xmlparse(cfhttp.fileconte
: 17 : <cfdump var="#live_doc#">
: 18 :
Note: for test reasons ... (see code) I've output the #livebody# to tell myself what URL string I'm trying to pass.
Shown as '#livebody# outputs as '?Appid=123456789012345678
* where appid is not real on EE here.
If I run that livebody output in a browser ... it works.
What am I doing wrong!? any ideas?
Richard
SUPPORTING INFORMATION : Live.Net FAQ Sheet for API
http://search.live.com/developers/s/API%20Basics.pdf
<cfset liveappid = '123456789012345678901234567890'>
<cfset livequery = ''>
<cfset livesources = 'news'>
<cfset livemarket = ''>
<cfset liveUIlanguage='en'>
<cfset livelatitude = '47.603828'>
<cfset livelongitude = '-122.328567'>
<cfset liveradius = 250>
<cfset livenewssortoption = 'Date'>
<cfset livebody = "?Appid=" & #liveappid# & "&query=" & #livequery# & "&sources=" & #livesources#>
<cfoutput>#livebody#</cfoutput>
<cfhttp method="GET" url="http://api.search.live.net/xml.aspx#livebody#">
<cfset live_doc = #xmlparse(cfhttp.filecontent)#>
<cfdump var="#live_doc#">
** note: liveappid is not my real appid (for obvious reasons)
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Bloody Hell!
Brilliant.
Thanks mate!
Yes - I'm a sloppy newbie at CF but ... all this helps very much!
R
Brilliant.
Thanks mate!
Yes - I'm a sloppy newbie at CF but ... all this helps very much!
R
ASKER
Brilliant AND polite!
Eh, we are sloppy newbies at something ;-)
> Eh, we are sloppy newbies at something ;-)
... we are _all_ sloppy newbies at something (Obviously, I am a typing newbie today ;-)
... we are _all_ sloppy newbies at something (Obviously, I am a typing newbie today ;-)
It seems to work with the addition of this tip:
http://blog.pengoworks.com/index.cfm/2006/3/13/CFHTTP-Connection-Failures-issues-with-Gzip
<cfhttp method="GET" url="http://api.search.live.net/xml.aspx#livebody#">
<cfhttpparam type="header" name="Accept-Encoding" value="*" />
</cfhttp>
<!--- see what is returned. is it valid xml? --->
<cfdump var="#cfhttp.filecontent#"