zoukankan      html  css  js  c++  java
  • 创建HttpRequest传输数据

    代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    using System.Net;

    namespace Bookmark.HttpAPI
    {
        
    public class WebRequestAPI
        {
            
    private static CookieContainer cookie=new CookieContainer ();


            
    #region 同步通过POST方式发送数据
            
    /// <summary>
            
    /// 通过POST方式发送数据
            
    /// </summary>
            
    /// <param name="Url">url</param>
            
    /// <param name="postDataStr">Post数据</param>
            
    /// <param name="cookie">Cookie容器</param>
            
    /// <returns></returns>
            public static string SendDataByPost(string Url, string postDataStr)
            {
                HttpWebRequest request 
    = (HttpWebRequest)WebRequest.Create(Url);
                
    if (cookie.Count == 0)
                {
                    request.CookieContainer 
    = new CookieContainer();
                    cookie 
    = request.CookieContainer;
                }
                
    else
                {
                    request.CookieContainer 
    = cookie;
                }

                request.Method 
    = "POST";
                request.ContentType 
    = "application/x-www-form-urlencoded";
                request.ContentLength 
    = postDataStr.Length;
                Stream myRequestStream 
    = request.GetRequestStream();
                StreamWriter myStreamWriter 
    = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
                myStreamWriter.Write(postDataStr);
                myStreamWriter.Close();

                HttpWebResponse response 
    = (HttpWebResponse)request.GetResponse();
                Stream myResponseStream 
    = response.GetResponseStream();
                StreamReader myStreamReader 
    = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                
    string retString = myStreamReader.ReadToEnd();
                myStreamReader.Close();
                myResponseStream.Close();

                
    return retString;
            }
            
    #endregion

            
    #region 同步通过GET方式发送数据
            
    /// <summary>
            
    /// 通过GET方式发送数据
            
    /// </summary>
            
    /// <param name="Url">url</param>
            
    /// <param name="postDataStr">GET数据</param>
            
    /// <param name="cookie">GET容器</param>
            
    /// <returns></returns>
            public static string SendDataByGET(string Url, string postDataStr)
            {
                HttpWebRequest request 
    = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?"+ postDataStr);
                
    if (cookie.Count == 0)
                {
                    request.CookieContainer 
    = new CookieContainer();
                    cookie 
    = request.CookieContainer;
                }
                
    else
                {
                    request.CookieContainer 
    = cookie;
                }

                request.Method 
    = "GET";
                request.ContentType 
    = "text/html;charset=UTF-8";

                HttpWebResponse response 
    = (HttpWebResponse)request.GetResponse();
                Stream myResponseStream 
    = response.GetResponseStream();
                StreamReader myStreamReader 
    = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                
    string retString = myStreamReader.ReadToEnd();
                myStreamReader.Close();
                myResponseStream.Close();

                
    return retString;
            }
            
    #endregion
        }
    }
  • 相关阅读:
    协方差矩阵
    SLAM中的关键帧是什么?有什么用?如何选择关键帧?
    EKF算法与非线性优化算法的比较
    LC217 存在重复元素
    LC42 接雨水
    LC20 有效的括号
    LC3 无重复最长子串
    LC4 寻找两个有序数组的中位数
    ubuntu16.04下安装g2o
    小米 各版本手机系统包 线刷包 卡刷包
  • 原文地址:https://www.cnblogs.com/hubcarl/p/1732492.html
Copyright © 2011-2022 走看看