get,post提交请求

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Net;
using System.IO;
using System.Security.Cryptography;

namespace Test
{
    public partial class WebForm3 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //string url = "http://111.206.37.135:8080/business/api/ordercreate";
            //string paras = "createTime%3d2014-12-16+11%3a07%3a52%26orderList%3d%5b%7bagentName%3a%e6%90%ba%e7%a8%8b%2citemAmount%3a1%2citemId%3a265802%2citemImgUrl%3a%2citemName%3a%e6%b2%99%e7%89%b9%e9%a6%86%e2%80%9c%e6%9c%88%e4%ba%ae%e8%88%b9%e2%80%9d%e5%95%86%e5%8a%a1VIP%e4%b8%93%e4%ba%ab%e6%9c%8d%e5%8a%a1%2citemOrderTime%3a2014-12-25%2citemPrice%3a12000.00%2citemUrl%3ahttp%3a%2f%2fpiao.ctrip.com%2fdest%2ft138822.html%2citemUrlWap%3ahttp%3a%2f%2fm.ctrip.com%2fwebapp%2fticket%2fdest%2ft138822.html%7d%5d%26Ordername%3d%e4%b8%8a%e6%b5%b7%e4%b8%96%e5%8d%9a%e4%bc%9a%e6%b2%99%e7%89%b9%e9%a6%86%e2%80%9c%e6%9c%88%e4%ba%ae%e8%88%b9%e2%80%9dVIP%e6%9c%8d%e5%8a%a1%26partnerId%3dCtrip%26payWay%3d%e5%9c%a8%e7%ba%bf%e6%94%af%e4%bb%98%26srcOrderId%3d1143395377%26status%3d104%26totalAmount%3d12000.00%26sign%3db9821727999bce3ab9748a2c332cbab";
            //string result = SendByPost(url, paras);

            string url = "http://www.baidu.com";
            string result = SendByGet(url);

        }

        /// <summary>
        /// POST方式提交请求
        /// </summary>
        /// <param name="url"></param>
        /// <param name="result"></param>
        /// <returns></returns>
        public string SendByPost(string url,string paras)
        {
            string result = string.Empty;
            try
            {
                System.Net.HttpWebRequest request;
                request = (System.Net.HttpWebRequest)WebRequest.Create(url);
                //Post请求方式
                request.Method = "POST";
                // 内容类型
                request.ContentType = "application/x-www-form-urlencoded";
                // 参数经过URL编码
                //string paraUrlCoded = System.Web.HttpUtility.UrlEncode("keyword");
                //paraUrlCoded += "=" + System.Web.HttpUtility.UrlEncode("多月");

                byte[] payload;
                //将URL编码后的字符串转化为字节
                payload = System.Text.Encoding.UTF8.GetBytes(paras);
                //设置请求的 ContentLength
                request.ContentLength = payload.Length;
                //获得请 求流
                System.IO.Stream writer = request.GetRequestStream();
                //将请求参数写入流
                writer.Write(payload, 0, payload.Length);
                // 关闭请求流
                writer.Close();
                System.Net.HttpWebResponse response;
                // 获得响应流
                response = (System.Net.HttpWebResponse)request.GetResponse();
                System.IO.StreamReader myreader = new System.IO.StreamReader(response.GetResponseStream(), Encoding.UTF8);
                result = myreader.ReadToEnd();
                myreader.Close();
            }
            catch (Exception ex)
            {
                result = ex.ToString();
            }
            return result;
        }

        /// <summary>
        /// GET方式提交请求
        /// </summary>
        /// <param name="url">注意url必须含http或https</param>
        /// <returns></returns>
        public string SendByGet(string url)
        {
            string result = string.Empty;
            try
            {
                //System.Net.HttpWebRequest request;
                //// 创建一个HTTP请求
                //request = (System.Net.HttpWebRequest)WebRequest.Create(url);
                ////request.Method="get";
                //System.Net.HttpWebResponse response;
                //response = (System.Net.HttpWebResponse)request.GetResponse();
                //System.IO.StreamReader myreader = new System.IO.StreamReader(response.GetResponseStream(), Encoding.UTF8);
                //result = myreader.ReadToEnd();
                //myreader.Close();

                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                req.Method = "GET";
                ////设置代理
                //if (CommonFunc.ConvertObjectToString(ConfigurationManager.AppSettings["IsProxy"]).ToUpper() == "T")
                //{
                //    string ProxyAddress = ConfigurationManager.AppSettings["ProxyAddress"].ToString().Trim();
                //    if (!string.IsNullOrEmpty(ProxyAddress))
                //    {
                //        req.UseDefaultCredentials = true;
                //        WebProxy proxy = new WebProxy(ProxyAddress, 8080);
                //        req.Proxy = proxy;
                //    }
                //    logger.Debug("代理", "设置代理服务");
                //}
                req.KeepAlive = true;
                req.Timeout = 300000;
                req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
                HttpWebResponse rsp = (HttpWebResponse)req.GetResponse();
                Encoding encoding = null;
                try
                {
                    encoding = Encoding.GetEncoding(rsp.CharacterSet);
                }
                catch
                {
                    encoding = Encoding.UTF8;
                }
                Stream stream = rsp.GetResponseStream();
                StreamReader reader = new StreamReader(stream, encoding);
                result = reader.ReadToEnd();
                reader.Close();
                stream.Close();
                rsp.Close();
            }
            catch (Exception ex)
            {
                result = ex.Message;
            }
            return result;
        }
    }
}
时间: 2024-10-05 04:39:22

get,post提交请求的相关文章

php模拟post提交请求,调用接口

/**      * 模拟post进行url请求      * @param string $url      * @param string $param      */     function request_post($url = '', $param = '') {         if (empty($url) || empty($param)) {             return false;         }                  $postUrl = $ur

将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对&lt;name&amp;value&gt;格式和JSON格式。

http://zhengxinlong.iteye.com/blog/848712 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name&value>格式和JSON格式. /// <reference name="jquery.js" description="1.3.2版本以上" /> /*!* 扩展jQuery表单序列化函数:{ Version: 1.2, Author: Eric

ajax提交请求为啥url要用这个函数encodeURI

参考如下: 如果你是通过form提交的,那就不需要用这个了.但是如果是你使用url的方式例如:ajax提交到后台的,就需要对url进行encodeURI编码,否则,会导致后台出现各种乱码,不加encodeURI的话,默认浏览器编码格式提交,这样的话,浏览器不同,传到后台的值也就不同了,所以建议使用encodeURI统一编码为utf-8的格式到后台,然后后台再处理再解码就行了,如果后台是utf-8的,好像也可以不手动解码,但是建议加上解码,避免发布环境不同的时候,会出现问题. http://zhi

Android 网络编程(3)——使用URLConnection提交请求

URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和URL之间的通信连接.程序可以通过URLConnection实例向该URL发送请求,读取URL引用的资源 通常创建一个和URL的连接,并发送请求.读取此URL引用的资源需要如下几个步骤: 通过调用URL对象openConnection()方法来创建URLConnection对象 设置URLConnection的参数和普通请求属性 如果只是发送GET方法请求,使用connect方式建立和远程资

Amazon MWS 上传数据 (三) 提交请求

前面介绍了设置服务和构造请求,现在介绍提交请求. 上传数据,查询上传操作的工作状态,和处理上传操作返回的报告操作使用的Amazon API 分别为:SubmitFeed(),FeedSubmissionListRequest(),GetFeedSubmissionResult(). SubmitFeed()-- 提交请求,代码示例: 1 #region AmazonSubmitFeed 2 /// <summary> 3 /// 提交请求 4 /// </summary> 5 pu

ajax防止重复提交请求1

ajax防止重复提交请求 A. 独占型提交 只允许同时存在一次提交操作,并且直到本次提交完成才能进行下一次提交. module.submit = function() {   if (this.promise_.state() === 'pending') {     return   }   return this.promise_ = $.post('/api/save') }B. 贪婪型提交 无限制的提交,但是以最后一次操作为准:亦即需要尽快给出最后一次操作的反馈,而前面的操作结果并不重要

【模态窗口-Modeldialog】提交请求时禁止在新窗口打开页面的处理方法

在使用Window.ShowModalDialog()打开模态窗口后,在模态窗口内提交时总是会在新窗口中打开. 解决办法: 在要弹出的窗口的<head>之间加: <base target="_self"/> 这样提交请求时就不会在新窗口打开页面了.

【EBS】代码提交请求

提交请求 用来提交一个请求,它返回一个NUMBER值.具体调用如下 :RESULT := fnd_request.submit_request(application, --AP模快 program, --应用程序 description, --请求说明(可选) start_time, --RUN 时间(可选) sub_request, --立刻提交请求 argument1, --参数1 argument2, --参数2 argument3, --参数3 argument4, --参数4 arg

关于(textarea)回车换行符在提交请求(URL)时消失的处理

关于(textarea)回车换行符在提交请求(URL)时消失的处理,有时候,我们在页面输入查询时,想多个同时查询,然后,回车隔开每个查询的内容. 后台只能收到字符串,没有回车换行符. 如下面的一个请求 window.location = "${ctx}/post/cusQueryMailExport?customerId="+customerId +"&postTimeStart="+postTimeStart+"&postTimeEnd=