在.NET 中模拟提交Post数据

.net本地模拟POST请求 .net本地模拟POST带参数请求,方便本地测试使用 立即下载

 

using System;
using System.Net;
using System.IO;
using System.Text;
using System.Web;

class ClientPOST {
    public static void Main(string[] args) {

        if (args.Length < 1) {
            showusage();
        } else {
            if (args.Length < 2 ) {
                getPage(args[0], "s1=foods2=bart(&S)");
            } else {
                getPage(args[0], args[1]);
            }
        }

        Console.WriteLine();
        Console.WriteLine("按任意键继续...");
        Console.ReadLine();

        return;
    }

    public static void showusage() {
        Console.WriteLine("尝试发送 (POST) 到 URL 中");
        Console.WriteLine();
        Console.WriteLine("用法::");
        Console.WriteLine("ClientPOST URL [postdata]");
        Console.WriteLine();
        Console.WriteLine("示例::");
        Console.WriteLine("ClientPOST http://www.microsoft.com s1=food&s2=bart");
    }

    public static void getPage(String url, String payload) {
        WebResponse result = null;

        try {

            WebRequest req = WebRequest.Create(url);
            req.Method = "POST";
            req.ContentType = "application/x-www-form-urlencoded";
        StringBuilder UrlEncoded = new StringBuilder();
        Char[] reserved = {'?', '=', '&'};
        byte[] SomeBytes = null;

        if (payload != null) {
        int i=0, j;
        while(i<payload.Length){
            j=payload.IndexOfAny(reserved, i);
            if (j==-1){
            UrlEncoded.Append(HttpUtility.UrlEncode(payload.Substring(i, payload.Length-i)));
            break;
            }
            UrlEncoded.Append(HttpUtility.UrlEncode(payload.Substring(i, j-i)));
            UrlEncoded.Append(payload.Substring(j,1));
            i = j+1;
        }
        SomeBytes = Encoding.UTF8.GetBytes(UrlEncoded.ToString());
                req.ContentLength = SomeBytes.Length;
                Stream newStream = req.GetRequestStream();
        newStream.Write(SomeBytes, 0, SomeBytes.Length);
                newStream.Close();
            } else {
                req.ContentLength = 0;
            }


            result = req.GetResponse();
            Stream ReceiveStream = result.GetResponseStream();
            Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
            StreamReader sr = new StreamReader( ReceiveStream, encode );
            Console.WriteLine("/r/n已接收到响应流");
            Char[] read = new Char[256];
            int count = sr.Read( read, 0, 256 );
            Console.WriteLine("HTML.../r/n");
            while (count > 0) {
                String str = new String(read, 0, count);
                Console.Write(str);
                count = sr.Read(read, 0, 256);
            }
            Console.WriteLine("");
        } catch(Exception e) {
            Console.WriteLine( e.ToString());
            Console.WriteLine("/r/n找不到请求 URI,或者它的格式不正确");
        } finally {
            if ( result != null ) {
                result.Close();
            }
        }
    }
}
​​瑞芯微RK系列 vs 全志系列芯片:终极选型指南(2025版)​ ​。 阅读详情

相关推荐

fastadmin云快充充电桩系统部署文档uniapp

多商户 嘎嘎快充V1.0部署文档 一、服务器环境: 服务器配置4核心8GB内存5M带宽以上配置 VX next1402 只支持linux环境 nginx1.22 php7.2 开启redis、fileinfo扩展,关闭禁用workerman gatewayworkerman需要的函数,如pcntl相关的函数 mysql5.7 supervisor redis 注意: 1.站点必须配置https、websocket配置wss 2.注意开放直连服务端口:2024,并添加到安全组 二、必

itholiday2014的博客 1629

c# .net 模拟请求 POST, Get,Put,Delete,并带Headers,BUF加持异步多线程执行

【代码】c# .net 模拟请求 POST, Get,Put,Delete,并带Headers,BUF加持异步多线程执行。

weixin_40362806的博客 808

易灵思FPGA实战:T35F324的PLL硬核配置全流程(附避坑指南)

本文详细解析了易灵思T35F324 FPGA中硬核PLL的配置全流程与核心避坑点。内容涵盖从架构理解、Interface Designer参数设置、VCO范围校验,到时钟网络冲突分析与动态重配置等实战环节,重点解决了引脚分配、资源约束和常见报错问题,为工程师提供了一套清晰可靠的配置指南。

u9v0w的博客 215

.net6 发送http的post get请求

如果是交付型的项目,性能更为重要,因为你卖给客户往往靠的就是性能上微弱的优势。如果你是对外开放API,例如开放平台,外部的编程语言多种多样,你无法拒绝对每种语言的支持,相应的,如果采用HTTP,无疑在你实现SDK之前,支持了所有语言,所以,现在开源中间件,基本最先支持的几个协议都包含RESTful。2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。

lllljz的专栏 1511

PYNQ-Z2 开发板从镜像烧录到 Jupyter 交互全流程指南

本文详细介绍了PYNQ-Z2开发板从镜像烧录到Jupyter交互的全流程指南,包括硬件解析、镜像烧录技巧、设备启动与网络配置、Jupyter Notebook深度使用以及实战案例分享。通过具体步骤和实用技巧,帮助开发者快速上手PYNQ-Z2开发板,实现高效的FPGA开发和智能家居控制应用。

weixin_28736355的博客 439

[VCS]门级仿真及SDF反标

摘要:门级仿真在STA工具普及后仍是验证的重要环节,主要用于检查SDC完备性、异步电路时序、网表完整性及为功耗分析提供波形。门级仿真分为不带时序反标的前仿和带SDF反标的后仿,后仿需加载SDF文件提供精确延时信息。VCS提供多种仿真选项控制时序检查行为,SDF反标可通过命令或系统函数实现。后仿需特别注意关闭notimingcheck选项以确保时序检查有效性,并建议检查SDF反标报告和波形验证延时一致性。

元直的博客 9790

.net模拟http post请求上传文件

public void SendByApi(string url, Stream postedStream, string fileName, string cType, Dictionary formDataDic)         {             if (string.IsNullOrEmpty(url))                 throw new Ex

dreamparks的专栏 7395

环境配置与基础教程:当前大厂主流套路:使用 MLflow 全链路管理 YOLO 实验参数、指标与模型版本

YOLO26与MLflow结合实现高效实验管理 YOLO26通过移除DFL模块和实现无NMS端到端推理,在CPU推理速度上提升43%,同时简化了模型导出流程。MLflow 3.10/3.11版本新增多工作区支持、成本追踪和安全序列化等功能,为机器学习实验提供全生命周期管理。两者结合可解决传统"截图+Excel"式实验管理的痛点,实现参数追踪、指标对比和模型版本控制的自动化。 关键优势: YOLO26架构优化带来显著性能提升 MLflow提供实验到生产的全链路管理 原生集成简化了计算机视觉

ZXSXJ的博客 191

.net中对HTTP请求的两种请求:Get和Post的操作

.net中对HTTP请求的简单操作总结 第一部分,HTTP协议的简单了解 一、 什么是HTTP协议 超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。 二、 HTTP协议简介 HTTP是Hyper Text...

weixin_33857679的博客 749

基于STM32L4XX、HAL库的E180-ZG120B ZigBee模块驱动程序设计

/ 频率: 470MHz, SF7, BW125kHz, CR4/5, 功率14dBm。// 检查是否收到完整响应(根据实际情况调整)// 每5秒发送一次。PB0 <---> AUX (可选,用于状态检测)// 实际发送命令可能需要根据模块AT指令集调整。PC13 <---> RESET (可选)// 处理接收到的数据。// 缓冲区满,从头开始。// 其他必要的HAL库初始化代码...// 初始化E180模块。// 启动UART接收。// 如果需要等待响应。// 配置LoRa参数。

zhusl6688的博客 380

【CANdelaStudio编辑CDD】-1.2-给$10服务SessionControl创建一个新Session会话并修改Session state machine会话状态机(UDS诊断)

前一篇:【UDS诊断描述文件CDD】-1.1-ISO_14229中$10服务理论部分https://blog.csdn.net/qfmzhu/article/details/120375515案例背景: 在CDD中如何给$10服务创建一个新的Session会话; 在CDD中如何给$10服务修改Session state machine会话状态机。 目录 1 查看$10服务中已有的Session会话​ 2 查看$10服务中已有的Session state machine会话状态机 3 在$10...

「汽车电子助手」的博客 6075

Asp.Net模拟post提交数据方法

方法1: System.Net.WebClient WebClientObj = new System.Net.WebClient(); System.Collections.Specialized.NameValueCollection PostVars = new System.Collections.Specialized.NameValue...

weixin_38170853的博客 471

Pytorch入门实战(7):基于BERT实现文本隐喻二分类(Kaggle入门题目)

Bert入门实战,文本二分类问题

iioSnail的博客 4055

.net post提交后接收返回数据_Winform模拟post请求和get请求登录网站

引言最近有朋友问如何用winform模拟post请求,然后登录网站,稍微想了一下,大致就是对http报文的相关信息的封装,然后请求网站登录地址的样子。发现自己的博客中对这部分只是也没总结,就借着这股风,总结一下http报文的相关知识吧。HTTP定义超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,...

weixin_39539002的博客 316

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ASP.NET 中 POST 数据并跳转页面,模拟前台提交表单,传参并跳转到该地址

构建前台表单和JS代码 private static String PreparePOSTForm<T>(string url, T value) { //模拟构建前台表单并提交 //Set a name for the form string formID = "PostForm...

weixin_43560960的博客 676

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

c#以POST方式模拟提交表单

这是我一年前写的一个用C#模拟以POST方式提交表单的代码,现在记录在下面,以免忘记咯。那时候刚学C#~忽忽。。很生疏。。代码看上去也很幼稚 臃肿不堪 #region 内容添加函数(Contentinsert) public string Contentinsert(string bookID, string bookTitle, string bookContent,stri...

942

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

URL对象模拟POST发送数据!(原创)

我们知道发送GET数据的时候可以在文件名后面加参数,如http://www.mz520.com/bbs/post.asp?action=new&boardid=41 后面的action=new&boardid=41就是GET方法接收的值,要提交POST数据第一种方法可以用JAVASCRIPT的form.submit()方法模拟表单提交,第二种方法就是利用net包里的URL类对象设置输出流来做到,首

专注于J2EE,UNIX下C/C++网络程序开发 3149

vb.net如何使用HttpWebRequest模拟登陆带验证码的网站

vb.net如何使用HttpWebRequest模拟登陆带验证码的网站 2014-06-23 21:54 玛瑙与翡翠 | 分类:C#/.NET | 浏览99次 Public Function 发送信息(strUrl As String, strPostData As String, Optional ByVal 发送方式 As Boolean = True) As HttpWebR

ijustcalledtosay的专栏 3588

C模拟Post提交工具及Demo:简化开发流程,提升效率

C#模拟Post提交工具及Demo:简化开发流程,提升效率 去发现同类优质开源项目:https://gitcode.com/ C#模拟Post提交工具及Demo是开发者提升工作效率的利器,它通过模拟HTTP Post请求,帮助开发者快速实现参数提交,无需编写繁琐的代码。下面,我们将详细了解这个项目的核心功能、技术分析、应用场景及特点。 项目介绍 C#模拟Post提交工具及Demo是一个开源项目,主...

gitblog_06768的博客 810

C# 模拟post数据提交时 出现如下错误: System.Net.WebException: 远程服务器返回错误: (417) Expectation Failed 的解决办法...

一般情况的代码,重点在出错的那段代码,其他的代码可以根据自己的情况写相应的代码: HttpWebRequest req=WebRequest.Create(url1) as HttpWebRequest;   req.Method="POST";   req.Accept="application/json, text/javascript, */*";   req.Referer=url2; ...

weixin_34234721的博客 474

C#的HttpWebRequest编程,支持带ViewState的网页POST请求

从网上找到了Jake Lin(Jake's Blog on 博客园)的一篇文章《.NET Compact Framework下HttpWebRequest开发》,在他的代码基础上稍加修改,可以编程模拟网页POST提交的效果。 在主程序上用了个循环,再将取出的网页用正则表达式把想要的信息取出来,最后成功地提取出了石油大学附中2010小升初的成绩表。 static private string...

weixin_34277853的博客 151

使用C#模拟ASP.NET页面中按钮点击

c# 模拟Asp.net页面中的某个按钮的点击,向web服务器发出请求 主要就组织要提交的数据,然后以post方式提交。 假设我们有如下的网页 1 <% @ Page Language = " C# " AutoEventWireup = " true " CodeFile = " Default.aspx.cs " Inherits = " _...

weixin_30472035的博客 643

[转] c# 模拟Asp.net页面中的某个按钮的点击,向web服务器发出请求

在没有做题目中所述的内容的时候,感觉这应该是很简单的东西,但是当真正开始做的时候却发现,有很多问题现在在这里写出来,供和我一样水平不高的参考一下。在写本文之前参照了一下文章欢迎使用优快云论坛阅读器 : 优快云 Reader(附全部源代码) 最新版本:20070212 http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html...

weixin_34174322的博客 382
上一篇: ASP.NET分页组件 0.1.0
下一篇: ASP.NET分页组件更新版本
foxfly
博客等级 码龄27年 2粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值