我有PHP网站,可以在会话中存储值。
我可以从独立的C#程序中获取这些值(在同一台机器和时间上)吗?
其他选项(如果上述情况不可行)是将当前文本框值转换为C#变量(如果可能的话,再次)。
答案 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