我正在创建一个聊天应用程序,我正在使用免费的虚拟主机将在线用户存储在数据库中。我有以下结构:
1)index.php
我以这种格式获得在线用户:
<user> <name></name> <ip></ip> </user>
2)add.php?user=
在连接时向数据库添加新用户。
3)remove.php?user=
在用户断开连接时删除用户。
现在在应用程序中我有一个函数GetUsers()
,如下所示:
string url = @"http://.../index.php";
System.Net.WebRequest req = System.Net.WebRequest.Create(url);
System.Net.WebResponse res = (System.Net.WebResponse)req.GetResponse();
如果我使用本地IIS服务器作为url它可以工作,但是当我尝试使用免费的webhosted url时,它会给我406 Not Acceptable
错误。所以我认为我需要添加一些标题或其他内容来伪造真正的浏览器。
更新: 1)免费托管服务使用Apache作为网络服务器。 2)您可以建议另一种方法来获取网页。
答案 0 :(得分:0)
我建议使用像Fiddler这样的工具捕获浏览器的请求,然后尝试在代码中模拟它们。
您还可以使用this answer中的技术通过Fiddler路由您的程序化请求。 不久:
req.Proxy = new WebProxy("http://localhost:8888", false);
localhost:8888
是Fiddler的默认地址。