PHPで問題が発生しました。インドのすべてのバスステーションを取得したい. だから私はxmlリクエストを作成し、そのxmlデータを指定されたAPI URLに投稿しました。しかし、私は結果を得られませんでした。以下は正常に動作している.netコードです。PHPで「HttpRequest」メソッドを使用しても、「致命的なエラー:クラス 'HttpRequest'が見つかりません」のようなエラーが表示されます。
誰かが私にphpで同等のコードを教えてくれるか、データを取得する方法を教えてくれますか..?
前もって感謝します。
.net コード (正常に動作)
protected void getBusServices(string journeydate)
{
XmlDocument doc = new XmlDocument();
StringReader stream;
StreamReader reader;
XmlTextReader textreader;
HttpWebRequest req;
HttpWebResponse response;
try
{
string password = "password";
DateTime dt = Convert.ToDateTime(journeydate);
string strJrneyDate = dt.ToString("MM-dd-yyyy");
string strRtDate = dt.AddDays(3).ToString("MM-dd-yyyy");
string url = Bus_Api_Url;
string RequestCommand = "<Command>GET_STATIONS</Command> <Username>username</Username> <Password>password</Password>";
req = (HttpWebRequest)WebRequest.Create(url);
string RequestData = "RequestXML=<?xml version='1.0' encoding='utf-8' ?><BusRequest xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>" + RequestCommand + "</BusRequest>";
req.Method = WebRequestMethods.Http.Post;
req.ContentLength = RequestData.Length;
req.ContentType = "application/x-www-form-urlencoded";
using (StreamWriter writer = new StreamWriter(req.GetRequestStream()))
{
writer.Write(RequestData);
}
response = (HttpWebResponse)req.GetResponse();
Stream responsestream = response.GetResponseStream();
reader = new StreamReader(responsestream);
string xmlresponse = reader.ReadToEnd();
stream = new StringReader(xmlresponse);
textreader = new XmlTextReader(stream);
doc.LoadXml(xmlresponse);
DataSet ds = new DataSet();
ds.ReadXml(textreader);
}
catch (Exception ex)
{
EBUtils.Logger.LogError.Publish(ex);
}
finally
{
reader = null;
// stream = null;
reader = null;
response = null;
doc = null;
}
}
}