【C#】做一个winform版本的软考成绩查询软件

...
var uri = new Uri(url); //能够获取cookie的HttpClient
CookieContainer cookieContainer = new CookieContainer(); var handler = new HttpClientHandler();
handler.CookieContainer = cookieContainer;
HttpClient httpClient = new HttpClient(handler); //请求头设置
httpClient.DefaultRequestHeaders.Host = host;
//这个必须要
httpClient.DefaultRequestHeaders.Referrer = new Uri( refer);
httpClient.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("image/*")); httpClient.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("*/*"));//Accept: image/webp,image/apng,image/*,*/*;q=0.8 HttpResponseMessage response = httpClient.GetAsync(url).Result;
//返回格式
response.Headers.Add("Content_Type", "image/png"); if (response.IsSuccessStatusCode)
{
// byte[] urlContents = await response.Content.ReadAsByteArrayAsync();
//获取返回的流
stream = await response.Content.ReadAsStreamAsync();
//获取cookie
List<Cookie> cookies = cookieContainer.GetCookies(uri).Cast<Cookie>().ToList();
foreach (var item in cookies)
{
sb_cookie.Append(item.Name);
sb_cookie.Append("=");
sb_cookie.Append(item.Value);
sb_cookie.Append(";"); }
string result = response.Content.ReadAsStringAsync().Result;
return result;
}
return null;
img_jym.Image = Image.FromStream(stream);//这样就构建了验证码图片了
//构建请求表单formDictionary<string, string> dic2 = new Dictionary<string, string>();
dic2.Add("captcha", txt_jym.Text);
HttpContent content2 = new FormUrlEncodedContent(dic2.ToList());
//设置手动添加cookie的HttpClient
var handler = new HttpClientHandler() { UseCookies = false };
var httpClient = new HttpClient(handler); httpClient.DefaultRequestHeaders.Host = host;
httpClient.DefaultRequestHeaders.Referrer = new Uri(refer);
//添加cookie
httpClient.DefaultRequestHeaders.Add("Cookie", sb_cookie.ToString());
httpClient.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("*/*"));//Accept: image/webp,image/apng,image/*,*/*; HttpResponseMessage response = httpClient.PostAsync(url, httpContent).Result;
response.Headers.Add("Content_Type", "application/x-www-form-urlencoded; charset=UTF-8");//Content-Type: application/x-www-form-urlencoded; charset=UTF-8
【C#】做一个winform版本的软考成绩查询软件的更多相关文章
- 如何使用impress.js做一个网页版本的PPT
blockquote{font-size: 18px;line-height:1.5;margin:0;}line-height: 1.5; 要做一个网站制作规范培训,之前村长做过一次培训,但是后来一 ...
- 今天做一个winform,想直接把窗体改成输出类库,其他地方直接调结果总提示不能注册组件,回来调度,可以,总结,windows还是直接用新建的类型项目,改容易出错
如题, 对于winform程序,还是新建一个类库,这样,在类库里面可以添加窗体.这样可以提供其他程序集来调用里面的窗体
- 使用DB4o做一个.Net版的website(一)环境
一个机缘巧合之下,知道了DB4o这个数据库引擎,下载查看之后,被其方便.高效.以及便捷的管理方式锁折服. 故决定使用其做一个.NET版本的web站点,来巩固学到的知识,以及为后来人做一点点贡献. 首先 ...
- NanUI for Winform 使用示例【第二集】——做一个所见即所得的Markdown编辑器
经过了这一个多星期的调整与修复,NanUI for .NET Winform的稳定版已经发布.应广大群友的要求,现已将NanUI的全部代码开源. GitHub: https://github.com/ ...
- 软考之路--J2SE,从HelloWorld到传世代码
"Hello World"程序指的是只在计算机屏幕上输出"Hello, World!"(意为"世界,你好!")这行字符串的计算机程序.hel ...
- 软考之PV操作(同步)
这几天,陆续有那么三两个同学跟我讨论了一下关于软考上的PV操作的题,吾虽不才,但还是把同学们讲通了,在此,特分享一下自己的思路和想法,愿对大家有点帮助! 下面,我们就通过自己做过的试卷上两道题来分析: ...
- 做一个聪明的.net程序员
最近看了传智播客(http://net.itcast.cn/)的.net培训视频,感受颇深,忍不住要把感受写下来跟网友分享一下. 我从接触.net到现在已经至少过去了三五个年头,用.net也已经做了若 ...
- 备战“软考”之软件project
说到"软件project"就有一种非常纠结的感觉!为什么呢?由于刚进入软考复习阶段,大家都把它放到了"比較"次要的地位,由于已经学过两遍,再加上它没有非常难理解 ...
- 软考之CPU的寻址方式
在复习软考的时候,发现CPU的内部工作原理这一部分的内容挺重要的,现对CPU的寻址方式进行了一下总结.以下就来一一介绍一下. 我们都知道一个指令分为操作码和地址码两部分.操作码确定指令的类型.地址码确 ...
- 软考之路--从生活着手,看PV如何操作
PV操作,是软考当中一个很重要的考点,一听到这个名词,顿时赶脚高大上有么有,在软考的历年试题中,也不乏PV操作的身影,老师也对PV操作进行了一次讲课,那时年少,听得稀里糊涂,也不是很理解,在小编的理解 ...
随机推荐
- 【FAQ】运动健康服务端侧数据常见问题及解答
目录 Q1:Health Kit开放的API是否支持同时获取多个华为手环的健康数据? Q2:当前通过Health Kit获取运动健康数据的功能是否免费? Q3:在联盟平台申请Health Kit权限, ...
- HarmonyOS数据管理与应用数据持久化(一)
一. 数据管理概述 功能介绍 数据管理为开发者提供数据存储.数据管理能力,比如联系人应用数据可以保存到数据库中,提供数据库的安全.可靠等管理机制. ● 数据存储:提供通用数据持久化能力,根据数据特 ...
- 抓包整理————tcpdump过滤器[七]
前言 简单介绍一下tcpdump 正文 这里可以tcpdump -D 可以列出各个网卡的信息: 默认抓取eth0,也就是第一个: 还有下面的选项: -D 举例所有的网卡设备 -i 选择网卡设备 -c ...
- 实训篇-Html-表格练习2
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Consul的服务注册与发现(简单介绍)
Consul的注册中心的安装及配置 1.consul下载 2.开发模式启动consul consul agent -dev 3.验证测试 通过以下地址可以访问Consul的首页: http://loc ...
- Redis持久化技术浅析
Redis是一种内存数据库,数据都存储在内存中,因此可以快速地直接基于内存中的数据结构进行高性能的操作,但是所有数据都在内存中,一旦服务器宕机,内存中的数据就会全部丢失,数据将无法恢复,因此Redis ...
- 通过ORPO技术微调 llama3大模型(Fine-tune Llama 3 with ORPO)
1f45bd1e8577af66a05f5e3fadb0b29 通过ORPO对llama进行微调 前言 ORPO是一种新颖的微调技术,它将传统的监督微调和偏好对齐阶段整合到一个过程中.这减少了训练所需 ...
- 连续两年入选Gartner公共云容器,阿里云在边缘容器方面做了什么?
最近,Gartner发布了2020年公共云容器报告,阿里云连续两年成为唯一入选的中国企业.报告显示,阿里云容器服务在中国市场表现强劲,产品形态丰富,在 Serverless 容器.服务网格.安全沙箱容 ...
- SLS控制台内嵌操作指南
简介: SLS控制台内嵌操作指南 一.机制 详见:https://help.aliyun.com/document_detail/74971.html 二.操作 2.1 子账号操作(主账号身份操作) ...
- [FAQ] FinalCutPro 视频背景加模糊效果
1. 时间轴右上方,找到 倒数第二个 "显示或隐藏效果浏览器",里面有一个 "模糊" 效果: 2. "模糊"效果中的 "高斯曲线& ...