服务端使用 java 实现,首先创建一个 Servlet,在 Tomcat 上发布,接受客户端的连接:
package com.http.demo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Demo1 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html, charset=utf-8");
// 获取请求数据
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username + " -- " + password);
// 输出响应结果
response.getOutputStream().write("连接成功!".getBytes());
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
然后编写 C# 程序发送 http 请求,连接服务器:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string requestData = "username=admin&password=123"; // 发送的数据
string url = "http://localhost:8080/HttpServerDemo/servlet/Demo1"; // 服务器地址
//string result = HttpGet(url, requestData); // GET请求
string result = HttpPost(url, requestData); // POST请求
Console.WriteLine("响应结果:" + result);
Console.ReadKey();
}
private static String HttpGet(string url, string requestData)
{
// 实例化请求对象
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + "?" + requestData);
request.Method = "GET";
request.ContentType = "text/html; charset=UTF-8";
// 实例化响应对象,获取响应信息
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader sReader = new StreamReader(responseStream, Encoding.Default);
String result = sReader.ReadToEnd();
sReader.Close();
responseStream.Close();
return result;
}
private static String HttpPost(string url, string requestData)
{
// 实例化请求对象
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = requestData.Length;
// 发送请求数据
Stream requestStream = request.GetRequestStream();
StreamWriter sWriter = new StreamWriter(requestStream, Encoding.Default);
sWriter.Write(requestData);
sWriter.Flush();
sWriter.Close();
requestStream.Close();
// 实例化响应对象,获取响应信息
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader sReader = new StreamReader(responseStream, Encoding.Default);
String result = sReader.ReadToEnd();
sReader.Close();
responseStream.Close();
return result;
}
}
}