public class Httphelper
{
public static string Post1(string url, string postString)
{ using (WebClient webClient = new WebClient())
{
byte[] postData = Encoding.UTF8.GetBytes(postString);//编码,
webClient.Headers.Add("Content-Type", "application/json");//采取POST方式必须加的header,如果改为GET方式的话就去掉这句话即可
byte[] responseData = webClient.UploadData(url, "POST", postData);//得到返回字符流
string srcString = Encoding.UTF8.GetString(responseData);//解码
return srcString;
}
} public static string Post(string url, string postData)
{
string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/json"; byte[] data = Encoding.UTF8.GetBytes(postData); req.ContentLength = data.Length;
//req.Timeout = 30000;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, , data.Length); reqStream.Close();
} HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //获取响应内容
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();
} return result;
}
}

HttpClient 调用

  /// <summary>
/// post 同步
/// </summary>
/// <param name="url"></param>
/// <param name="postString"></param>
/// <returns></returns>
public static string Post(string url, string postData)
{
try
{
using (HttpClient _httpClient = new HttpClient())
{
StringContent httpClient = new StringContent(postData, Encoding.UTF8, "application/json");
var response = _httpClient.PostAsync(url, httpClient).Result;
string jsonstr = response.Content.ReadAsStringAsync().Result;
return jsonstr;
}
}
catch (Exception ex)
{
_logger.LogError(string.Format("Api调用异常--url【{0}】,参数【{1}】", url, postData), ex);
return "";
}
}
/// <summary>
/// post 异步
/// </summary>
/// <param name="url"></param>
/// <param name="postData"></param>
/// <returns></returns>
public static async void PostAsync(string url, string postData)
{
try
{
using (HttpClient _httpClient = new HttpClient())
{
StringContent httpClient = new StringContent(postData, Encoding.UTF8, "application/json");
var response = await _httpClient.PostAsync(url, httpClient);
string jsonstr = await response.Content.ReadAsStringAsync();
}
}
catch (Exception ex)
{
_logger.LogError(string.Format("Api调用异常--url【{0}】,参数【{1}】", url, postData), ex);
}
}

cs端调用Ajax的更多相关文章

  1. cs端调用webApi

    public class Httphelper { public static string Post1(string url, string postString) { using (WebClie ...

  2. 用C#基于WCF创建TCP的Service供Client端调用

    本文将详细讲解用C#基于WCF创建TCP的Service供Client端调用的详细过程 1):首先创建一个Windows Service的工程 2):生成的代码工程结构如下所示 3):我们将Servi ...

  3. 移动端通过ajax上传图片(文件)并在前台展示——通过H5的FormData对象

    前些时候遇到移动端需要上传图片和视频的问题,之前一直通过ajax异步的提交数据,所以在寻找通过ajax上传文件的方法.发现了H5里新增了一个FormData对象,通过这个对象可以直接绑定html中的f ...

  4. vue实现PC端调用摄像头拍照人脸录入、移动端调用手机前置摄像头人脸录入、及图片旋转矫正、压缩上传base64格式/文件格式

    进入正题 1. PC端调用摄像头拍照上传base64格式到后台,这个没什么花里胡哨的骚操作,直接看代码 (canvas + video) <template> <div> &l ...

  5. springMVC含文件上传调用ajax无法连接后台

    springMVC在使用ajax进行后台传值的时候发现找不到对应的requestMapping(""),无法进入后台,在多次试验后确定是 MultipartFile对象与ajax冲 ...

  6. 封装、调用ajax

    1.JavaScript代码 //封装ajaxfunction ajax(obj) { var xhr = new createXHR(); obj.url = obj.url + '?rand=' ...

  7. TML5如何在移动网页端调用手机图片或者camera

    TML5如何在移动网页端调用手机图片或者camera可以参考这篇文章: 如果你开始基于iOS系统(ios6 above) 的web应用,可以考虑这段代码: 点击按钮,会调用你的摄像头相册 附源码文件: ...

  8. android NDK 实用学习(五)-c++端调用java接口

    1,阅读此文章前请阅读前面文章,以免阅读出现障碍: android NDK 实用学习(一)-获取java端类及其类变量 android NDK 实用学习(二)-java端对象成员赋值和获取对象成员值 ...

  9. js调用ajax案例

    js调用ajax案例 测试地址:http://www.w3school.com.cn/tiy/t.asp?f=ajax_get 嵌入下面代码,点击提交,再点击请求数据.就可以看到结果了. <ht ...

随机推荐

  1. echo '<script>alert("插入成功")</script>';

    echo '<script>alert("插入成功")</script>'; <?php if ( ! defined('BASEPATH')) ex ...

  2. org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection 原因

    org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection 可能出现的原因     ...

  3. 博客开篇:随笔《从windows到linux的转变》。

    在QQ群里讨论到了WINDOWS和LINUX.MAC,用手机码了如下回复,索性转过来当做博客的开篇.:) unix 和linux 在外很火的主要原因是开源,国外崇尚自由的精神是从出生就在细胞里的,而w ...

  4. clang编译器简介

    本文部分内容引用: 中文维基百科. 结构化编译器前端--clang介绍. 什么是clang编译器? clang是LLVM编译器工具集的一个用于编译C.C++.Objective-C的前端.LLVM项目 ...

  5. php获取文件名称和扩展名

    1.basename()-返回路径的文件名请看下面php代码: <?php $path = "/usr/www/html/index.php"; echo basename( ...

  6. Web应用功能测试测试点

    做了几年的功能测试,也经手了好几个Web应用的项目,在做项目当中积累了一些经验.在这里我对通用一些功能模块的测试点做个记录,一来梳理一下测试用例设计的思路,以便加快相似项目的测试用例的设计,二来有利于 ...

  7. Servlet,jsp,JSP技术 ,JSP编程

     一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 ...

  8. requests 快速入门

     requests的请求方式 import requests # 发送请求 r = requests.get('https://github.com/timeline.json') r = reque ...

  9. api接口签名验证

    由于http是无状态的,所以正常情况下在浏览器浏览网页,服务器都是通过访问者的cookie(cookie中存储的jsessionid)来辨别客户端的身份的,当客户端进行登录服务器也会将登录信息存放在服 ...

  10. SQL Server中字符串函数LEN 和 DATALENGTH辨析

    LEN:返回指定字符串表达式的字符(而不是字节)数,其中不包含尾随空格. DATALENGTH:返回用于表示任何表达式的字节数. 示例1:(相同,返回结果都为5): select LEN ('ssss ...