C#HttpWebRequest发布信息

2024-03-08 01:32

本文主要是介绍C#HttpWebRequest发布信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/// <summary>From:www.subeiwang.com
        /// 远程发布数据
        /// </summary>
        public string RemoteSendHttpData(CookieContainer myCookieContainer, string Url, string PostDate, string Gbcode, string refUrl, HttpWebRequest myHttp)
        {
            if (string.IsNullOrEmpty(Gbcode))
            {
                Gbcode = "gb2312";
            }
            if (!string.IsNullOrEmpty(Url) && !string.IsNullOrEmpty(PostDate))
            {
                try
                {
                    //CookieContainer myCookieContainer = new CookieContainer();
                    myHttp = (HttpWebRequest)HttpWebRequest.Create(Url);
                    myHttp.CookieContainer = myCookieContainer;//*发送COOKIE
                    myHttp.Method = "POST";

                    myHttp.Accept = "application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/x-ms-xbap, application/x-ms-application, */*";
                    myHttp.ContentType = "application/x-www-form-urlencoded";
                    myHttp.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36";

                    if (!string.IsNullOrEmpty(refUrl))
                    {
                        myHttp.Referer = refUrl;
                    }
                    else
                    {
                        myHttp.Referer = Url;
                    }

                        myHttp.KeepAlive = true;
                        myHttp.ProtocolVersion = HttpVersion.Version10;
                   
                    myHttp.CookieContainer = myCookieContainer;
                    //myHttp.Headers.Add("x-requested-with", "XMLHttpRequest");
                    string postdata = PostDate;
                    byte[] byte1 = Encoding.GetEncoding(Gbcode).GetBytes(postdata);
                    myHttp.ContentLength = byte1.Length;

                    Stream poststream = myHttp.GetRequestStream();
                    poststream.Write(byte1, 0, byte1.Length);
                    poststream.Close();

                    HttpWebResponse hres = (HttpWebResponse)myHttp.GetResponse();
                    Stream stream = hres.GetResponseStream();
                    string WebContent = new StreamReader(stream, System.Text.Encoding.GetEncoding(Gbcode)).ReadToEnd();
                    stream.Close();
                    if (hres != null)
                    {
                        hres.Close();
                    }
                    if (myHttp != null)
                    {
                        myHttp.Abort();
                        myHttp = null;

                    }

                    return WebContent;


                    //return "ok";
                }
                catch (Exception ex)
                {
                    //MessageBox.Show("错误信息:" + ex.Message.ToString(), "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return "错误信息:" + ex.Message.ToString();
                    //return;
                }
                //finally
                //{
                //    lb.Text = "总共发送:"+sendnum+"次,成功发送:" + sendok + "次,失败发送:" + sendfalt+"次";

                //}
            }
            else
            {
                //MessageBox.Show("错误提交:提交链接或者数据为空", "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //return;
                return "错误信息:提交链接或者数据为空";
            }

        }

这篇关于C#HttpWebRequest发布信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/785518

相关文章

基于C#实现MQTT通信实战

《基于C#实现MQTT通信实战》MQTT消息队列遥测传输,在物联网领域应用的很广泛,它是基于Publish/Subscribe模式,具有简单易用,支持QoS,传输效率高的特点,下面我们就来看看C#实现... 目录1、连接主机2、订阅消息3、发布消息MQTT(Message Queueing Telemetr

C#特性(Attributes)和反射(Reflection)详解

《C#特性(Attributes)和反射(Reflection)详解》:本文主要介绍C#特性(Attributes)和反射(Reflection),具有很好的参考价值,希望对大家有所帮助,如有错误... 目录特性特性的定义概念目的反射定义概念目的反射的主要功能包括使用反射的基本步骤特性和反射的关系总结特性

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

C#实现查找并删除PDF中的空白页面

《C#实现查找并删除PDF中的空白页面》PDF文件中的空白页并不少见,因为它们有可能是作者有意留下的,也有可能是在处理文档时不小心添加的,下面我们来看看如何使用Spire.PDFfor.NET通过C#... 目录安装 Spire.PDF for .NETC# 查找并删除 PDF 文档中的空白页C# 添加与删

通过C#获取Excel单元格的数据类型的方法详解

《通过C#获取Excel单元格的数据类型的方法详解》在处理Excel文件时,了解单元格的数据类型有助于我们正确地解析和处理数据,本文将详细介绍如何使用FreeSpire.XLS来获取Excel单元格的... 目录引言环境配置6种常见数据类型C# 读取单元格数据类型引言在处理 Excel 文件时,了解单元格

C#实现高性能Excel百万数据导出优化实战指南

《C#实现高性能Excel百万数据导出优化实战指南》在日常工作中,Excel数据导出是一个常见的需求,然而,当数据量较大时,性能和内存问题往往会成为限制导出效率的瓶颈,下面我们看看C#如何结合EPPl... 目录一、技术方案核心对比二、各方案选型建议三、性能对比数据四、核心代码实现1. MiniExcel

springboot实现配置文件关键信息加解密

《springboot实现配置文件关键信息加解密》在项目配置文件中常常会配置如数据库连接信息,redis连接信息等,连接密码明文配置在配置文件中会很不安全,所以本文就来聊聊如何使用springboot... 目录前言方案实践1、第一种方案2、第二种方案前言在项目配置文件中常常会配置如数据库连接信息、Red

Maven 依赖发布与仓库治理的过程解析

《Maven依赖发布与仓库治理的过程解析》:本文主要介绍Maven依赖发布与仓库治理的过程解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录Maven 依赖发布与仓库治理引言第一章:distributionManagement配置的工程化实践1

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

C#如何调用C++库

《C#如何调用C++库》:本文主要介绍C#如何调用C++库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录方法一:使用P/Invoke1. 导出C++函数2. 定义P/Invoke签名3. 调用C++函数方法二:使用C++/CLI作为桥接1. 创建C++/CL