WebClient 调用api

使用:
  /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="code"></param>
        /// <param name="accessToken"></param>
        /// <returns></returns>
        public static string GetUserInfo(string code, string accessToken)
        {
            string userid = "";
            string url = oApiHost + "/user/getuserinfo?access_token=" + accessToken + "&code=" + code;
            string result = Tool.HttpGet(url);

            dynamic data = JsonConvert.DeserializeObject<dynamic>(result);

            if (data.errcode == 0)
            {
                userid = data.userid;
            }
            else
            {
                throw new Exception("获取User Id发生错误,钉钉返回:" + Convert.ToString(data.errmsg));
            }
            return userid;
        }
Tool类:
 public class Tool
    {
        public static string HttpGet(string url)
        {
            WebClient client = new WebClient();
            client.Headers.Add("Content-Type", "application/json");
            client.Encoding = Encoding.UTF8;
            string result = client.DownloadString(url);
            return result;
        }

        public static string HttpPost(string url, NameValueCollection data)
        {
            WebClient client = new WebClient();
            client.Headers.Add("Content-Type", "application/json");
            client.Encoding = Encoding.UTF8;
            byte[] origin_result = client.UploadValues(url, data);
            return Encoding.UTF8.GetString(origin_result);
        }}
 
时间: 2024-07-29 13:51:36

WebClient 调用api的相关文章

C# 调用API接口处理公共类 自带JSON实体互转类

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; using System.Web; n

OAuth2.0学习(5-4)新浪开放平台-微博API-使用OAuth2.0调用API

使用OAuth2.0调用API 使用OAuth2.0调用API接口有两种方式: 1. 直接使用参数,传递参数名为 access_token URL 1 https://api.weibo.com/2/statuses/public_timeline.json?access_token=abcd 2.在header里传递,形式为在header里添加 Authorization:OAuth2空格abcd,这里的abcd假定为Access Token的值,其它接口参数正常传递即可. 注:所有的微博开放

调用API接口下载腾讯CDN访问日志

公司使用腾讯cdn为网站静态内容加速,由于业务需求,需要每天下载昨天的日志(因为腾讯方面给出回复,访问日志会有2个小时或以上时间的延迟,所以不建议下载当天日志,所以每天统计前一天的日志以做分析).因为cdn是由运维来管理,但是这个需求是业务的,如果每天都由运维进行下载,再通过邮件或其他工具发送,可能就显得麻烦.所幸腾讯CDN提供了API接口,因此采用shell脚本调用API进行下载的方式,定期下载日志,这样只要业务人员运行这个脚本就能自行下载日志,解放了运维的工作. #!/bin/bash ##

openstack 调用API 实现云主机的IO 控制,CGroup 策略

# vim: tabstop=4 shiftwidth=4 softtabstop=4 # Copyright (c) 2011 X.commerce, a business unit of eBay Inc. # Copyright 2010 United States Government as represented by the # Administrator of the National Aeronautics and Space Administration. # All Righ

32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看)

32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看) 昨天,大家可能都看了代码了,不知道昨天有没有在汇编代码的基础上,实现注入计算器. 如果没有,今天则会讲解,不过建议把昨天代码熟悉一遍(课程是紧跟着来的,请不要拉下任何一天,因为今天的知识, 可能就和昨天的知识挂钩,昨天的知识,和前天的挂钩.....,当然你如你懂汇编,不是新手,那么则可以直接往下看) 一丶远程线程注入,和汇编远程注入的区别 昨天的代码,大家可能看了(没看也没有关系,就是远程线程注入的代码,开发角

ABP手机端调用API时的CORS

这个问题其实很早就考虑了,当时因为也没有特别着急去解决这个问题,就一直拖着.... 好吧,拖延症是不好的,所有不懒得做的,终将会逼着你去再很短的时间内去解决问题...实现项目 改写一个已有的webform项目,需要手机端和WEB端的数据保持互通,所以第一反应当然是abp了,既可以学习,也可以完成任务 在试着调用的api的时候就遇到了cors跨域请求的问题,之前很迷茫练cors是什么都不知道,这次也知道了.解决问题,带着问题去看文档 http://aspnetboilerplate.com/Pag

汇编中如果汇编和调用API混合用的话要注意Pushad popad

某群有个人提出一个奇怪的问题,这段代码的循环不正常 ;MASMPlus 代码模板 - 控制台程序 .386.model flat, stdcalloption casemap :none include windows.incinclude user32.incinclude kernel32.incinclude masm32.incinclude gdi32.inc includelib gdi32.libincludelib user32.libincludelib kernel32.li

C#调用API向外部程序发送数据

C#调用API向外部程序发送数据 最近有可能要做一个项目.在项目中有这么一个功能,在A程序中调用B程序,同时在A程序中进行登陆后,要将A程序的登录名和密码自动填充到B程序的登陆对话框中,这样B程序就不需要再输入一次用户名和密码了,简化操作人员的操作.刚好最近闲着没事,就在怎么想怎么去实现.经过两天的折腾,基本上完成了上述功能的实现.下面就把实现方法.过程与大家进行分享. 一.原理 要实现上述功能,需要调用Win API来实现.Win32 API即为Microsoft 32位平台的应用程序编程接口

Python调用API接口的几种方式

相信做过自动化运维的同学都用过API接口来完成某些动作.API是一套成熟系统所必需的接口,可以被其他系统或脚本来调用,这也是自动化运维的必修课. 本文主要介绍python中调用API的几种方式,下面是python中会用到的库. - urllib2 - httplib2 - pycurl - requests urllib2 import urllib2, urllib github_url = 'https://api.github.com/user/repos' password_manage