虽然我可以掌握 .Net 框架和 Windows 应用程序的概念,但我想创建一个应用程序来模拟网站点击并从该页面获取数据/响应时间。我还没有任何网络经验,因为我只是一名大三学生,有人可以向我解释(用英语!!)基本概念或示例,可以帮助我与网站交流的不同方式和类别吗?
最佳答案
你想做什么?
发送请求并获取字符串中的响应以便您可以处理?
HttpWebRequest 和 HttpWebResponse 会起作用
如果您需要通过 TCP/IP、FTP 或 HTTP 之外的其他方式进行连接,那么您需要使用更通用的方法
以上4个方法都在System.Net Namespace中
如果您想在 Web 端构建一个您可以使用的服务,那么今天在 .NET 中请选择并使用 WCF (RESTfull style)。
希望它能帮助你找到自己的路:)
以使用 HttpWebRequest 和 HttpWebResponse 为例,也许一些代码可以帮助您更好地理解。
案例:发送一个响应到一个URL并得到响应,这就像点击URL并获取点击后所有的HTML代码:
private void btnSendRequest_Click(object sender, EventArgs e)
{
textBox1.Text = "";
try
{
String queryString = "user=myUser&pwd=myPassword&tel=+123456798&msg=My message";
byte[] requestByte = Encoding.Default.GetBytes(queryString);
// build our request
WebRequest webRequest = WebRequest.Create("http://www.sendFreeSMS.com/");
webRequest.Method = "POST";
webRequest.ContentType = "application/xml";
webRequest.ContentLength = requestByte.Length;
// create our stram to send
Stream webDataStream = webRequest.GetRequestStream();
webDataStream.Write(requestByte, 0, requestByte.Length);
// get the response from our stream
WebResponse webResponse = webRequest.GetResponse();
webDataStream = webResponse.GetResponseStream();
// convert the result into a String
StreamReader webResponseSReader = new StreamReader(webDataStream);
String responseFromServer = webResponseSReader.ReadToEnd().Replace("\n", "").Replace("\t", "");
// close everything
webResponseSReader.Close();
webResponse.Close();
webDataStream.Close();
// You now have the HTML in the responseFromServer variable, use it :)
textBox1.Text = responseFromServer;
}
catch (Exception ex)
{
textBox1.Text = ex.Message;
}
}
该代码不起作用,因为 URL 是虚构的,但您明白了。 :)
关于c# - 通过 C# 应用程序与网络通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/449910/