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
        }
    }
  • 相关阅读:
    testDecoration
    python装饰器详解
    开闭原则, 对扩展开放、对修改关闭
    使用元类 编写ORM
    Python 实现累加计数的几种方法
    python 查找目录下 文件名中含有某字符串的文件
    android应用程序的混淆打包规范
    自定义Tabs
    android-Service
    Loader异步装载器
  • 原文地址:https://www.cnblogs.com/hubcarl/p/1732492.html
Copyright © 2011-2022 走看看