HTTP to WWW Help --Small Sample Code Conversion
Hey guys, seems that I have a similar problem as this guy: http://answers.unity3d.com/answers/1088100/view.html
I'm new to network programming, and can't for the life of me get this small batch of code to work. I attempted coverting what mojojo provided at the bottom of the page. I got a response, but couldn't get it to properly send back the json information. Here's that example below-feel free to respond on mojojo's question too. Thanks again, Here's DC's metro link with the code sample <- https://developer.wmata.com/docs/services/547636a6f9182302184cda78/operations/547636a6f918230da855363f
Here's Metros & Below it was my conversion attempt: METROS
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;
namespace CSHttpClientSample
{
static class Program
{
static void Main()
{
MakeRequest();;
Console.WriteLine("Hit ENTER to exit...");
Console.ReadLine();
}
static async void MakeRequest()
{
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
// Request headers
client.DefaultRequestHeaders.Add("api_key", "{subscription key}");
var uri = "https://api.wmata.com/StationPrediction.svc/json/GetPrediction/{StationCodes}&" + queryString;
var response = await client.GetAsync(uri);
}
}
}
MY CONVERSION:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;
using System.Net;
using System.Text;
public class GetListOfStationsPerLineVer3 : MonoBehaviour {
public string SubscriptionKey = "ENTER_SUB_KEY_HERE"; //API Subkey is kept private for this example
public string StationCode = "B03"; //Glenmont Station
void Start(){
StartCoroutine (MakeRequest ());
Console.WriteLine ("Hit Enter to Exit...");
Console.ReadLine ();
}
IEnumerator MakeRequest(){
//string uri = WWW.EscapeURL ("https://api.wmata.com/StationPrediction.svc/GetPrediction/"+StationCode+"&",System.Text.Encoding.UTF8);
string uri = "https://api.wmata.com/StationPrediction.svc/GetPrediction/" + StationCode + "&";
Dictionary<string,string> headers = new Dictionary<string,string> ();
headers.Add ("api_key", SubscriptionKey);
headers ["Authorization"] = "Basic" + System.Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(SubscriptionKey));
WWW wwwRequest = new WWW(uri, null, headers);
yield return wwwRequest;
if(wwwRequest.error == null)
{Debug.Log ("WWW ok!:"+wwwRequest.text);
}else{
Debug.Log ("WWW error!:"+wwwRequest.error+"the url is: " +uri);
}
}
}
Your answer
Follow this Question
Related Questions
JsonUtility returns {} 2 Answers
Error CS1061: 'HttpWebRequest' does not contain a definition for 'ContentLength' 0 Answers
Refresh Chat room messages 1 Answer
Using HTTPS 0 Answers
Deserialize JSON with a certain structure using JsonUtility 1 Answer