C#学习笔记之通过http请求连接服务器

来源:互联网 发布:淘宝买钢珠警察会查么 编辑:程序博客网 时间:2024/06/05 16:24

服务端使用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;        }    }}



阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 阳台下水管声音好大怎么办 一开水龙头会响怎么办 海里遇到暗流怎么办贴吧 东海通忘记客户号怎么办 证券客户号忘了怎么办 热收缩机有空气怎么办 韩国国籍签证到期想回国怎么办 休闲裤裤脚长了怎么办 电大本科统考考不过怎么办 一案涉及两个法律关系怎么办 法院调解书被告不执行怎么办 电视cas授权已过期怎么办 网贷逾期被仲裁怎么办 word所选内容无效怎么办 wps批注不显示了怎么办 船舶挂靠船务公司去要怎么办 被螃蟹扎了肿了怎么办 手指被海鲜刺了怎么办 被海鲜刺进去了怎么办 手被海鲜扎了怎么办 环评设备写错了怎么办 物业对高空抛物怎么办 如果法官不公平判案我该怎么办? 民事案夸省审理案件不公平怎么办 积目头像未通过审核怎么办 电压不稳空调带不动怎么办 孩子吃了塑料珠怎么办 美的电压力锅打不开盖子怎么办 瓶盖打不开怎么办 瓶子是玻璃的 杯子口关错位了怎么办 大玻璃瓶的玻璃瓶盖拧不开怎么办 按压式洗发水瓶盖打不开怎么办 向下按压的瓶盖打不开怎么办 玻璃罐头开过了打不开怎么办 玻璃瓶的塑料盖子打不开怎么办 泡酒玻璃瓶盖子打不开怎么办 罐头的塑料瓶盖打不开怎么办 塑料水杯盖紧了怎么办 拧不开矿泉水瓶盖怎么办 新暖壶盖吸住了怎么办 暖瓶盖被吸住了怎么办