post get 方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using Xfrog.Net;
using System.Diagnostics;
using System.Web; //----------------------------------
// 手机号码归属地调用示例代码 - 聚合数据
// 在线接口文档:http://www.juhe.cn/docs/11
// 代码中JsonObject类下载地址:http://download.csdn.net/download/gcm3206021155665/7458439
//---------------------------------- namespace ConsoleAPI
{
class Program
{
static void Main(string[] args)
{
string appkey = "*******************"; //配置您申请的appkey //1.手机归属地查询
string url1 = "http://apis.juhe.cn/mobile/get"; var parameters1 = new Dictionary<string, string>(); parameters1.Add("phone" , ""); //需要查询的手机号码或手机号码前7位
parameters1.Add("key", appkey);//你申请的key
parameters1.Add("dtype" , ""); //返回数据的格式,xml或json,默认json string result1 = sendPost(url1, parameters1, "get"); JsonObject newObj1 = new JsonObject(result1);
String errorCode1 = newObj1["error_code"].Value; if (errorCode1 == "")
{
Debug.WriteLine("成功");
Debug.WriteLine(newObj1);
}
else
{
//Debug.WriteLine("失败");
Debug.WriteLine(newObj1["error_code"].Value+":"+newObj1["reason"].Value);
} } /// <summary>
/// Http (GET/POST)
/// </summary>
/// <param name="url">请求URL</param>
/// <param name="parameters">请求参数</param>
/// <param name="method">请求方法</param>
/// <returns>响应内容</returns>
static string sendPost(string url, IDictionary<string, string> parameters, string method)
{
if (method.ToLower() == "post")
{
HttpWebRequest req = null;
HttpWebResponse rsp = null;
System.IO.Stream reqStream = null;
try
{
req = (HttpWebRequest)WebRequest.Create(url);
req.Method = method;
req.KeepAlive = false;
req.ProtocolVersion = HttpVersion.Version10;
req.Timeout = ;
req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
byte[] postData = Encoding.UTF8.GetBytes(BuildQuery(parameters, "utf8"));
reqStream = req.GetRequestStream();
reqStream.Write(postData, , postData.Length);
rsp = (HttpWebResponse)req.GetResponse();
Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);
return GetResponseAsString(rsp, encoding);
}
catch (Exception ex)
{
return ex.Message;
}
finally
{
if (reqStream != null) reqStream.Close();
if (rsp != null) rsp.Close();
}
}
else
{
//创建请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + "?" + BuildQuery(parameters, "utf8")); //GET请求
request.Method = "GET";
request.ReadWriteTimeout = ;
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();
return retString;
}
} /// <summary>
/// 组装普通文本请求参数。
/// </summary>
/// <param name="parameters">Key-Value形式请求参数字典</param>
/// <returns>URL编码后的请求数据</returns>
static string BuildQuery(IDictionary<string, string> parameters, string encode)
{
StringBuilder postData = new StringBuilder();
bool hasParam = false;
IEnumerator<KeyValuePair<string, string>> dem = parameters.GetEnumerator();
while (dem.MoveNext())
{
string name = dem.Current.Key;
string value = dem.Current.Value;
// 忽略参数名或参数值为空的参数
if (!string.IsNullOrEmpty(name))//&& !string.IsNullOrEmpty(value)
{
if (hasParam)
{
postData.Append("&");
}
postData.Append(name);
postData.Append("=");
if (encode == "gb2312")
{
postData.Append(HttpUtility.UrlEncode(value, Encoding.GetEncoding("gb2312")));
}
else if (encode == "utf8")
{
postData.Append(HttpUtility.UrlEncode(value, Encoding.UTF8));
}
else
{
postData.Append(value);
}
hasParam = true;
}
}
return postData.ToString();
} /// <summary>
/// 把响应流转换为文本。
/// </summary>
/// <param name="rsp">响应流对象</param>
/// <param name="encoding">编码方式</param>
/// <returns>响应文本</returns>
static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding)
{
System.IO.Stream stream = null;
StreamReader reader = null;
try
{
// 以字符流的方式读取HTTP响应
stream = rsp.GetResponseStream();
reader = new StreamReader(stream, encoding);
return reader.ReadToEnd();
}
finally
{
// 释放资源
if (reader != null) reader.Close();
if (stream != null) stream.Close();
if (rsp != null) rsp.Close();
}
}
}
}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net;using System.IO;using Xfrog.Net;using System.Diagnostics;using System.Web;//----------------------------------// 手机号码归属地调用示例代码 - 聚合数据// 在线接口文档:http://www.juhe.cn/docs/11// 代码中JsonObject类下载地址:http://download.csdn.net/download/gcm3206021155665/7458439//----------------------------------namespace ConsoleAPI{    class Program    {        static void Main(string[] args)        {            string appkey = "*******************"; //配置您申请的appkey                         //1.手机归属地查询            var parameters1 = new Dictionary<string, string>();            parameters1.Add("phone" , ""); //需要查询的手机号码或手机号码前7位            parameters1.Add("key", appkey);//你申请的key            parameters1.Add("dtype" , ""); //返回数据的格式,xml或json,默认json            string result1 = sendPost(url1, parameters1, "get");            JsonObject newObj1 = new JsonObject(result1);            String errorCode1 = newObj1["error_code"].Value;            if (errorCode1 == "0")            {                Debug.WriteLine("成功");                Debug.WriteLine(newObj1);            }            else            {                //Debug.WriteLine("失败");                Debug.WriteLine(newObj1["error_code"].Value+":"+newObj1["reason"].Value);            }        }        /// <summary>        /// Http (GET/POST)        /// </summary>        /// <param name="url">请求URL</param>        /// <param name="parameters">请求参数</param>        /// <param name="method">请求方法</param>        /// <returns>响应内容</returns>        static string sendPost(string url, IDictionary<string, string> parameters, string method)        {            if (method.ToLower() == "post")            {                HttpWebRequest req = null;                HttpWebResponse rsp = null;                System.IO.Stream reqStream = null;                try                {                    req = (HttpWebRequest)WebRequest.Create(url);                    req.Method = method;                    req.KeepAlive = false;                    req.ProtocolVersion = HttpVersion.Version10;                    req.Timeout = 5000;                    req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";                    byte[] postData = Encoding.UTF8.GetBytes(BuildQuery(parameters, "utf8"));                    reqStream = req.GetRequestStream();                    reqStream.Write(postData, 0, postData.Length);                    rsp = (HttpWebResponse)req.GetResponse();                    Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);                    return GetResponseAsString(rsp, encoding);                }                catch (Exception ex)                {                    return ex.Message;                }                finally                {                    if (reqStream != null) reqStream.Close();                    if (rsp != null) rsp.Close();                }            }            else            {                //创建请求                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + "?" + BuildQuery(parameters, "utf8"));                //GET请求                request.Method = "GET";                request.ReadWriteTimeout = 5000;                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();                return retString;            }        }        /// <summary>        /// 组装普通文本请求参数。        /// </summary>        /// <param name="parameters">Key-Value形式请求参数字典</param>        /// <returns>URL编码后的请求数据</returns>        static string BuildQuery(IDictionary<string, string> parameters, string encode)        {            StringBuilder postData = new StringBuilder();            bool hasParam = false;            IEnumerator<KeyValuePair<string, string>> dem = parameters.GetEnumerator();            while (dem.MoveNext())            {                string name = dem.Current.Key;                string value = dem.Current.Value;                // 忽略参数名或参数值为空的参数                if (!string.IsNullOrEmpty(name))//&& !string.IsNullOrEmpty(value)                {                    if (hasParam)                    {                        postData.Append("&");                    }                    postData.Append(name);                    postData.Append("=");                    if (encode == "gb2312")                    {                        postData.Append(HttpUtility.UrlEncode(value, Encoding.GetEncoding("gb2312")));                    }                    else if (encode == "utf8")                    {                        postData.Append(HttpUtility.UrlEncode(value, Encoding.UTF8));                    }                    else                    {                        postData.Append(value);                    }                    hasParam = true;                }            }            return postData.ToString();        }        /// <summary>        /// 把响应流转换为文本。        /// </summary>        /// <param name="rsp">响应流对象</param>        /// <param name="encoding">编码方式</param>        /// <returns>响应文本</returns>        static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding)        {            System.IO.Stream stream = null;            StreamReader reader = null;            try            {                // 以字符流的方式读取HTTP响应                stream = rsp.GetResponseStream();                reader = new StreamReader(stream, encoding);                return reader.ReadToEnd();            }            finally            {                // 释放资源                if (reader != null) reader.Close();                if (stream != null) stream.Close();                if (rsp != null) rsp.Close();            }        }    }}post get 方法的更多相关文章
- javaSE27天复习总结
		JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ... 
- mapreduce多文件输出的两方法
		mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ... 
- 【.net 深呼吸】细说CodeDom(6):方法参数
		本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ... 
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
		直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ... 
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
		前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ... 
- [C#] C# 基础回顾 - 匿名方法
		C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ... 
- ArcGIS 10.0紧凑型切片读写方法
		首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ... 
- [BOT] 一种android中实现“圆角矩形”的方法
		内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ... 
- JS 判断数据类型的三种方法
		说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ... 
- .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
		.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ... 
随机推荐
- Java-Maven-Runoob:Maven 构建 & 项目测试
			ylbtech-Java-Maven-Runoob:Maven 构建 & 项目测试 1.返回顶部 1. Maven 构建 & 项目测试 在上一章节中我们学会了如何使用 Maven 创建 ... 
- Mongodb时间问题
			Java保存到mongodb当前时间,使用RoboMongo查看数据显示时间比当前时间少8个小时,这是客户端的问题. MongoDB中的Date类型数据只保存绝对时间值,不保存时区信息,因此“显示的时 ... 
- php去除html
			代码如下 //清除html function clearhtml($str){ $str = trim($str); $str = strip_tags($str,""); $st ... 
- Linux学习笔记 -- 磁盘的管理
			df df命令参数功能:检查文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 语法: df [-ahikHTm] [目录或文件名] 选项与参数: -a ... 
- MAC  10.6  64wei
			苹果电脑 Mac OS X 10.6 雪豹系统同时支持 32 位和 64 位模式,关于开启 64 位的好处,字太多,本文后半段介绍.下面先说查看你的苹果电脑是否开启了 64 位以及设置苹果电脑 Mac ... 
- Java 对象和实例的区别
			本来我以为是一样的,其实是不一样的 参看:http://www.blogjava.net/dreamstone/archive/2011/06/03/101733.html 
- 虚拟机在 OpenStack 里没有共享存储条件下的在线迁移
			虚拟机在 OpenStack 里没有共享存储条件下的在线迁移 本文尝试回答与 Live migration 相关的几个问题:Live migration 是什么?为什么要做 Live migratio ... 
- app端内容播放,web端的玩具,app通过websocket远程遥控玩具播放内容,玩具管理页面
			一.app端内容播放 下载代码 https://github.com/987334176/Intelligent_toy/archive/v1.0.zip 注意:由于涉及到版权问题,此附件没有图片和音 ... 
- Delphi 原生ADO(二)
			我发现很多朋友在开发数据库时都使用 Delphi 自带的 ADO 组 件 或 Diamond ADO,其实在 Delphi 中使用原生 ADO 接口也是十分方便和有效的.我使用原生 ADO 开发项目已 ... 
- spark 中文编码处理
			日志的格式是GBK编码的,而hadoop上的编码是用UTF-8写死的,导致最终输出乱码. 研究了下Java的编码问题. 网上其实对spark输入文件是GBK编码有现成的解决方案,具体代码如下 impo ... 
