How to HTTP get/post request ?
Monkey Targets Forums/XNA/How to HTTP get/post request ?
| ||
HttpRequest isn't implemented for XNA PC. And I can't find a solution here. What is the simplest way to Post data to a website ? |
| ||
Hey Fred, sorry I missed this post. Here is some code I have been using request.cs: public abstract class Request{ private string uri; private HttpWebRequest request; private HttpWebResponse response; private Stream stream; private StreamReader reader; private Thread thread; private string reply; public abstract int OnReply(string reply); public void Get( string url ){ uri = "http://" + url; thread = new Thread(new ThreadStart(Run)); thread.Start(); } public void Run() { try { request = (HttpWebRequest)WebRequest.Create(uri); response = (HttpWebResponse)request.GetResponse(); stream = response.GetResponseStream(); reader = new StreamReader(stream,Encoding.UTF8); reply = reader.ReadToEnd(); // todo: need game mutex OnReply(reply); } catch (Exception e) { System.Console.Out.WriteLine("Get failed: "+e.ToString()); } } } xnarequest.monkey: #If TARGET="xna" Import "request.cs" Extern Class Request Method Get(url$) Method OnReply(text$) End Public Interface IOnHttpRequestComplete Method OnHttpRequestComplete:Void( request:HttpRequest ) End Class HttpRequest Extends Request Field url$ Field get$ Field ready Field status Field response$ Field requestComplete:IOnHttpRequestComplete Method New( req0:String,url0:String,onComplete0:IOnHttpRequestComplete ) url=url0 get=req0 requestComplete=onComplete0 Receive 0,0,"" End Method Send() Get url End Method OnReply(text$) status=3 response=text requestComplete.OnHttpRequestComplete(Self) End Method Receive(ready0,status0,text$) ready=ready0 If ready=4 status=status0 response=text requestComplete.OnHttpRequestComplete(Self) Endif End Method Status() Return status End Method Ready() Return ready End Method ResponseText$() Return response End End #Else Import brl.httprequest #Endif At top of Program.cs add this #if WINDOWS using System.Net; #endif |