C# 中请求数据方式
#region 根据URL获取结果集
/// <summary>
/// 根据URL获取结果集 默认为GET,如果数据量大了可以传入POST
/// </summary>
/// <param name="url">URL地址</param>
/// <param name="type">默认为GET,删除时用DELETE</param>
/// <returns>String类型的,Json格式的结果集</returns>
public static string GetUrlResult(string url, string type = "GET")
{
string result = string.Empty;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = type;
request.ContentType = "application/x-www-form-urlencoded";
Stream resStream = null;
StreamReader sr = null;
try
{
WebResponse response = request.GetResponse();
resStream = response.GetResponseStream();
sr = new StreamReader(resStream, System.Text.Encoding.UTF8);
result = sr.ReadToEnd();
resStream.Close();
sr.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return result;
}
#endregion
#region 根据URL获取结果集
/// <summary>
/// 根据URL获取结果集 默认为GET,如果数据量大了可以传入POST
/// </summary>
/// <param name="url">URL地址</param>
/// <param name="proxy">代理IP</param>
/// <param name="type">默认为GET,删除时用DELETE</param>
/// <returns>String类型的,Json格式的结果集</returns>
public static string GetUrlResult(string url, WebProxy proxy, string type = "GET")
{
string result = string.Empty;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Proxy = proxy;
request.Method = type;
request.Timeout = 1000 * 10;
request.ContentType = "application/x-www-form-urlencoded";
Stream resStream = null;
StreamReader sr = null;
try
{
WebResponse response = request.GetResponse();
resStream = response.GetResponseStream();
sr = new StreamReader(resStream, System.Text.Encoding.UTF8);
result = sr.ReadToEnd();
resStream.Close();
sr.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return result;
}
#endregion
#region 通过POST方式去TRS创建豆腐块
/// <summary>
/// 通过POST方式去TRS创建豆腐块
/// </summary>
/// <param name="url">url</param>
/// <param name="param">参数</param>
/// <returns></returns>
public static string PostUrlResult(string url, string param)
{
string result = string.Empty;
byte[] byteArray = Encoding.UTF8.GetBytes(param);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
Stream newStream = null;
StreamReader sr = null;
try
{
newStream = request.GetRequestStream();
newStream.Write(byteArray, 0, byteArray.Length);
newStream.Close();
//获取响应
WebResponse response = request.GetResponse();
sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
result = sr.ReadToEnd();
sr.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return result;
}
#endregion
#region 根据IP和端口号检查代理IP是否有效
/// <summary>
/// 根据IP和端口号检查代理IP是否有效
/// </summary>
/// <param name="ip">代理IP</param>
/// <param name="port">端口号</param>
/// <returns></returns>
public static bool AgentIsAvailable(string ip, int port)
{
bool result = false;
HttpWebRequest webRequest;
HttpWebResponse webResponse;
StreamReader sr = null;
try
{
WebProxy proxy = new WebProxy(ip, port);
webRequest = WebRequest.Create(ConfigurationManager.AppSettings["SSWBValidIPUrl"]) as HttpWebRequest;
webRequest.Proxy = proxy;
webRequest.Timeout = 1000 * 5;
webResponse = webRequest.GetResponse() as HttpWebResponse;
sr = new StreamReader(webResponse.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
string str = sr.ReadToEnd();
if (str.Contains(ConfigurationManager.AppSettings["SSWBContainsString"]))
result = true;
sr.Close();
sr.Dispose();
}
catch (Exception ex)
{
Logging.Error(string.Format("检验代理IP是否有效时异常,异常信息:{0}", ex.Message));
}
return result;
}
#endregion
C# 中请求数据方式的更多相关文章
- vue的请求数据方式
一,vue-resource请求数据 介绍:vue-resource请求数据方式是官方提供的一个插件 步骤: 1,npm安装 npm install vue-resource --save ...
- Flask中请求数据的优雅传递
当一个请求到来时,浏览器会携带很多信息发送发送服务端.在Django中,每一个处理函数都要传入一个request的参数,该参数携带所有请求的信息,也就是服务端程序封装的environ(不明白该参数可以 ...
- js中请求数据的$post和$ajax区别(同步和异步问题)
$.post和$.Ajax都为页面上向后台发送请求,请求数据 1.post 因为post默认为异步请求,可是有时候我们会发现,本来要求请求马上出现,可是异步会导致后面突然再执行,这样就出很多问题 2. ...
- axios中请求传值方式
日常开发中与后端联调,可能需要的数据不同,所传值也有所不同 1.如果是data方式,设置请求头为:并且直接返回data就可以 raw axios.defaults.headers['Content- ...
- Nuxt.js 如何在 asyncData中 请求数据 ,并将拿到的数据传给子组件
说明:同接口请求一样,也可以进行数据的处理:return 中 左侧的变量 可以直接拿到在页面上使用,也可以传递给子组件 下面再给出一段代码,方便觉得有用的.却又不想手敲的朋友们: async as ...
- struts中请求数据自动封装
实现原理 参数拦截器 第一:jsp表单数据填充到action中的属性 必须实现set方法,get方法可以不需要实现,jsp页面name名字保持一致 第二:jsp表单填充到action的对象的属性 js ...
- 爬取'Content-Type': 'text/plain;charset=UTF-8' ,发送请求数据方式
解决方式 直接以字符串的方式发送data就可以得到响应数据 import requests data = 'k1:v1,k2:v2' requests.post(url, data=data)
- Vue vue-resource三种请求数据方式pet,post,jsonp
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue.js中请求数据v-for循环使用数据
1.效果图 2.cart.json { "message":"", "status":"1", "result ...
随机推荐
- 集合类学习之HashMap经典储存 分拣存储与面向对象组合
HashMap:键值对(key-value) 通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value. 默认是1:1关系(一对一) 存在则覆盖,当key已经存在,则利用新的va ...
- VxWorks 6.9 内核编程指导之读书笔记 -- C++开发
5.1 介绍 针对C++的VxWorks配置 C++头文件 使用C++启动任务 C和C++之前调用代码 C++编译器说明 在信号处理和ISR中使用C++ 下载C++编写的内核模块 C++编译器的不同 ...
- 20141111--SQL触发器
---------------------触发器----------------------------- --触发器本质上还是一个存储过程,trigger --只不过不是通过exec调用执行,而是通 ...
- (转)MongoDB 3.0 WT引擎参考配置文件
mongodb 3.0 改变很多,从2.6版本升级到3.0要关注的细节很多,如权限等等.3.0在数据存储引擎上更换成了wiredTiger,在数据压缩方面很有效,解决大数据量问题的情况下,磁盘不够用的 ...
- [javascript|基本概念]学习笔记
1/语法 a.区分大小写 b.标识符(首字符必须是字母/"_"/"$",其他可为字母/"_"/"$"/数字,不能用关键字 ...
- THREE.js代码备份——canvas - lines - colors(希尔伯特曲线3D、用HSL设置线颜色)
<!DOCTYPE html> <html lang="en"> <head> <title>three.js canvas - l ...
- 必须知道的.NET FrameWork
这部分内容呢,对普通开发者来说,意义不是特别大.但是作为一个有情怀的开发者,应该追根溯源,懂一些自己用的工具, 的粗浅知识.并且这部分内容可以用来个HR吹嘘一下自己的情怀.基本就是这样. .NET生成 ...
- 初级jQuery的使用
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- MvvmLight for Xamarin.Forms
一.Xamarin.Forms 不使用框架时的绑定 需要注意的是BindingContent,不是DataContent <ContentPage xmlns="http://xama ...
- 【Web学习日记】——C#引用WebService,从配置文件改变引用地址
开发环境:Win7 32位,开发工具:VS2013,.Net:4.0 初用WebService,很多地方都搞不清楚怎么回事,但稍作研究之后,也就用上了,根本就没有考虑后续事情. 但是,随着项目的进行, ...