如何使用C#获取网页会话值

时间:2015-07-21 06:30:23

标签: c# php session

我有PHP网站,可以在会话中存储值。

我可以从独立的C#程序中获取这些值(在同一台机器和时间上)吗?

其他选项(如果上述情况不可行)是将当前文本框值转换为C#变量(如果可能的话,再次)。

2 个答案:

答案 0 :(得分:0)

您可以构建API。

session_start();
if(isset($_GET['action']) && $_GET['action'] == "getSession") {
   echo json_encode($_SESSION);
}

然后你可以通过你的C#程序调用api。

// Returns JSON string
string GET(string url) 
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    try {
        WebResponse response = request.GetResponse();
        using (Stream responseStream = response.GetResponseStream()) {
            StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
            return reader.ReadToEnd();
        }
    }
    catch (WebException ex) {
        WebResponse errorResponse = ex.Response;
        using (Stream responseStream = errorResponse.GetResponseStream())
        {
            StreamReader reader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8"));
            String errorText = reader.ReadToEnd();
            // log errorText
        }
        throw;
    }
}

使用网址的调用如下:GET(“http://localhost/api.php?action=getSession”)

出于安全原因,我更愿意向api添加安全代码。

答案 1 :(得分:-1)

是,可能的。运行Web应用程序时,必须将会话保存在数据库中。会话有很多状态和模式。在数据库中存储会话是其中一种模式。然后您可以使用简单的c#程序访问数据。

请访问此链接。

https://msdn.microsoft.com/en-us/library/ms178581(v=vs.140).aspx http://www.codeproject.com/Articles/150689/Details-explanation-on-Compression-Enabled-Session