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
        }
    }
  • 相关阅读:
    P4345 [SHOI2015]超能粒子炮·改 Lucas
    P2480 [SDOI2010]古代猪文 Lucas+CRT合并
    nginx优化之request_time 和upstream_response_time差别
    务器遭受攻击后的一般处理过程
    sublime text修改TAB缩进为空格
    MySQL同主机不同数据库的复制命令
    【已解决】BeautifulSoup已经获得了Unicode的Soup但是print出来却是乱码
    关于mongodb ,redis,memcache
    MySQL DBA 刚入职时如何快速拥抱新的环境
    看linux连接进程占用的实时流量iftop netatop NetHogs
  • 原文地址:https://www.cnblogs.com/hubcarl/p/1732492.html
Copyright © 2011-2022 走看看