vb.net写的windows应用程序如何调用webapi?

我有个项目,需要在VB.NET写的WINDOWS应用程序中,利用WEBAPI按POST MULTI/FORM-DATA的形式向网站上传字符串和文件,不知如何写代码?我是个新手^0^

0

5个回答

这个函数能帮到你

 Public Shared Function GetData(ByVal url As String, ByVal data As String) As String  
            Dim request As HttpWebRequest = WebRequest.Create(url + "?" + data)  
            request.Method = "GET"  
            Dim sr As StreamReader = New StreamReader(request.GetResponse().GetResponseStream)  
            Return sr.ReadToEnd  
    End Function 
1

WEB API 其实就是访问一个网页地址,参数一般通过URL方式提交,返回值根据该API的约定,或为JOSN或为XML,无非也就是一个字符串,解析一下就可以了。

楼主现在是卡在不会访问网页还是不会组织URL,或者是解析返回值?

1

http://www.cnblogs.com/developersupport/p/aspnet-webapi.html
看看这篇文章,希望能帮助你

1

MULTI/FORM-DATA相当于上传文件了。
参考下面的代码:

Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports System.Net  
Imports System.IO  
Namespace SimpleWebRequest
Class Program  
static void Main(string() args)  
{  
Console.WriteLine( 
PostDataToUrl("test", "http://www.microsoft.com")  
)  
}  
'/<summary>  
'/ Post data到url  
'/</summary>  
'/<param name="data">要post的数据</param>  
'/<param name="url">目标url</param>  
'/<returns>服务器响应</returns>  
static String PostDataToUrl(String data, String url)  
{  
Dim encoding As Encoding =  Encoding.GetEncoding(sRequestEncoding) 
Dim bytesToPost() As Byte =  encoding.GetBytes(data) 
Return PostDataToUrl(bytesToPost,url)
}  
'/<summary>  
'/ Post data到url  
'/</summary>  
'/<param name="data">要post的数据</param>  
'/<param name="url">目标url</param>  
'/<returns>服务器响应</returns>  
static String PostDataToUrl(byte() data, String url)  
{  
#region 创建httpWebRequest对象  
Dim webRequest As WebRequest =  WebRequest.Create(url) 
Dim httpRequest As HttpWebRequest =  webRequest as HttpWebRequest 'as用于类型转换  
If httpRequest Is Nothing Then
Throw New ApplicationException( 
String.Format("Invalid url string: {0}", url)  
)
End If
#End Region  
#region 填充httpWebRequest的基本信息  
httpRequest.UserAgent = sUserAgent  
httpRequest.ContentType = sContentType  
httpRequest.Method = "POST"  
#End Region  
#region 填充要post的内容  
httpRequest.ContentLength = data.Length  
Dim requestStream As Stream =  httpRequest.GetRequestStream() 
requestStream.Write(data, 0, data.Length)  
requestStream.Close()  
#End Region  
#region 发送post请求到服务器并读取服务器返回信息  
Dim responseStream As Stream
Try
responseStream = httpRequest.GetResponse().GetResponseStream()
Catch e As Exception
' log error  
Console.WriteLine( 
String.Format("POST操作发生异常:{0}", e.Message)  
)  
Throw e
End Try
#End Region  
#region 读取服务器返回信息  
Dim stringResponse As String =  String.Empty 
using(StreamReader responseReader =  
New StreamReader(responseStream, Encoding.GetEncoding(sResponseEncoding)))  
{  
stringResponse = responseReader.ReadToEnd()  
}  
responseStream.Close()  
#End Region  
Return stringResponse
End Namespace
{  
Class Program  
static void Main(string() args)  
{  
Console.WriteLine( 
PostDataToUrl("test", "http://www.microsoft.com")  
)  
}  
'/<summary>  
'/ Post data到url  
'/</summary>  
'/<param name="data">要post的数据</param>  
'/<param name="url">目标url</param>  
'/<returns>服务器响应</returns>  
static String PostDataToUrl(String data, String url)  
{  
Dim encoding As Encoding =  Encoding.GetEncoding(sRequestEncoding) 
Dim bytesToPost() As Byte =  encoding.GetBytes(data) 
Return PostDataToUrl(bytesToPost,url)
}  
'/<summary>  
'/ Post data到url  
'/</summary>  
'/<param name="data">要post的数据</param>  
'/<param name="url">目标url</param>  
'/<returns>服务器响应</returns>  
static String PostDataToUrl(byte() data, String url)  
{  
#region 创建httpWebRequest对象  
Dim webRequest As WebRequest =  WebRequest.Create(url) 
Dim httpRequest As HttpWebRequest =  webRequest as HttpWebRequest 'as用于类型转换  
If httpRequest Is Nothing Then
Throw New ApplicationException( 
String.Format("Invalid url string: {0}", url)  
)
End If
#End Region  
#region 填充httpWebRequest的基本信息  
httpRequest.UserAgent = sUserAgent  
httpRequest.ContentType = sContentType  
httpRequest.Method = "POST"  
#End Region  
#region 填充要post的内容  
httpRequest.ContentLength = data.Length  
Dim requestStream As Stream =  httpRequest.GetRequestStream() 
requestStream.Write(data, 0, data.Length)  
requestStream.Close()  
#End Region  
#region 发送post请求到服务器并读取服务器返回信息  
Dim responseStream As Stream
Try
responseStream = httpRequest.GetResponse().GetResponseStream()
Catch e As Exception
' log error  
Console.WriteLine( 
String.Format("POST操作发生异常:{0}", e.Message)  
)  
Throw e
End Try
#End Region  
#region 读取服务器返回信息  
Dim stringResponse As String =  String.Empty 
using(StreamReader responseReader =  
New StreamReader(responseStream, Encoding.GetEncoding(sResponseEncoding)))  
{  
stringResponse = responseReader.ReadToEnd()  
}  
responseStream.Close()  
#End Region  
Return stringResponse
}  
const String sUserAgent =  
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"  
const String sContentType =  
"application/x-www-form-urlencoded"  
const String sRequestEncoding = "ascii"  
const String sResponseEncoding = "gb2312"
End Class

0

@kafly
非常感谢您的回复。问题的关键应该在如何组织URL访问网页

对方给出的信息是这样的:
接口地址:http://192.168.1.1/webapi (例)
参数:paramters

上传图片接口
使用POST multipart/form-data形式上传,字段如下:
字段名 类型
project_id 字符串

enterprise__uscc_ 字符串

detecting_uscc 字符串

image_id 字符串
image_file 文件 图片文件内容

我需要用vb.net 写一段代码,上传字串和文件内容

0
caozhy
weixin_45841714 他的代码是get,不能上传
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
04 控制台程序调用WebAPI
(1) 启动VS2013,选择C#,新建空的控制台项目,项目名称ConsoleApp. (2) 添加对上面Common库的引用。添加对System.Net.Http.dll的引用。 (3) 修改代码如下: using System; usingSystem.Collections.Generic; using System.Linq; using System.Text; using
c# webApi 服务端和客户端 详细实例
服务端程序: 1、首先,新建项目web,选择webapi 2、项目建好后,看一下有没有.ashx后缀的文件,如果没有,就添加一个 里面的代码如下: 这块就是服务端处理接收到的数据 的地方,具体怎么处理,看实际开发情况而定,这里就不多说了,接着往下看。 部署服务端程序: 1、首先,右键项目,选择发布: 2、第一步 配置文件 ,选择自定义,我这里之前发布过了,所以名字随便...
控制台+WebApi初探
环境:VS2012+Win7+Nuget 参考文献:http://www.thinksaas.cn/topics/0/685/685417.html 1.创建类库工程,主要编写WebApi的代码;代码如下: using System; using System.Collections.Generic; using System.Web.Http; namespace ClassLibrar
webapi 项目代码及winform下调用接口
webapi 项目平台,包含接口生成,及接口调用方法,项目代码清晰明了,非常值得初学者参考借鉴
C#控制台程序同步调用WebApi方法
控制台程序一般当作Job使用,有时候需要控制台程序调用WebApi返回结果后才能执行下一步动作,否则会出错,所以这个时候就需要同步处理。关于异步调用还是同步调用的相关说明这里不做详细阐述,请自行查找资料。 如果是异步就会报错如下: System.AggregateException: One or more errors occurred. —&amp;gt; System.Thread...
asp.net 调用本地程序 调用执行exe应用程序
asp.net 调用本地程序 调用执行exe应用程序 在asp.net中执行应用程序有两种方法,面分别用这两种方法执行Windows中的记事本程序notepad.exe: 1、调用win32函数ShellExecute。 调用win32函数ShellExecute。 添加引用Imports System.Runtime.InteropServices 声明函数: _ Private Shared Function ShellExecute(hwnd As IntPtr,
VB.net实现双击文件启动软件并打开文件
VB.net开发的应用程序是支持命令行参数的,可以用My.Application.CommandLineArgs()语句来判断软件启动时是否附带相应的命令行参数。 在windows操作系统环境下,当鼠标双击文件时,如果该文件有关联的软件时,则会在启动软件时附加相应的信息,这个信息一般就在CommandLineArgs()的第1个参数中,因此可以在软件的Load窗体事件中进行判断,如果第1个命令行
webAPI信息配置和如何使用/调用
压缩包分为两个文件,一个文件如何配置部署webAPI,一个文件直接如何调用webAPI
老外的一个为VB.NET和VB提供WIN32 API在线查询和用法的站,给VB.NET的朋友推荐下
老外的一个为VB.NET和VB提供WIN32 API在线查询和用法的站,给VB.NET的朋友推荐下 以前用VB做开发的时候有个VB WIN32API手册(window api函数手册),CHM格式的,查起来挺方便的,基本上把每个API的分类都归类好了,查的时候可以从分类找到对应的API函数,也可以通过快速检索,输入前几个API函数字母就能查到,对开发WINDOWS平台下的程序,查询起来还挺方便的,能提高开发效率 现在改用VB.NET开发的时候,虽然.NET框架提供了很强的接口,但有些东西还得需要用原始的Wi
delphi webapi方式同步数据到最新金蝶云教程(1)
教程即将开始, 主要讲delphi   将 erp数据 同步到 金蝶云系统  , 网上全是   。net,java,php 我delphi 这么牛,怎么可能不行?  
[VB.NET].net平台调用API问题
<!--google_ad_client = "pub-8333940862668978";/* 728x90, 创建于 08-11-30 */google_ad_slot = "4485230109";google_ad_width = 728;google_ad_height = 90;//--><script type="text/javascript"
Web API使用教程
是什么     Web Api,网络应用程序接口。它包含了广泛的功能,网络应用通过API接口,可以实现存储服务、消息服务、计算服务的能力,利用这些能力可以进行开发出强大功能的web应用。简单来说,就是一个接口,比如说,我们要做前后端分离的项目,前端和后端通过url连接,但是我们如何知道后端的数据是否通了,返回的数据是否正确,于是我们通过这个接口知道。 相似的技术     postma
关于C# winform怎么调用webapi来获取到json数据
        C/S系统也可以和B/S系统一样实现“前后端分离”,那这样写winform就相当于纯粹的前端页面了,然后再单独部署一个webapi项目,通过api调用数据库进行数据的操作,有利于维护和数据安全性的提高,那么winform怎么去调用api接口呢,写了一个demo,大家借鉴一下哈,本人才疏学浅,有不足和错误请指出:        winform界面就不设计了,仅仅是为了测试是否调用到a...
vb.net—配置文件
在敲vb.net版机房的时候往往会使用到配置文件,为什么呢?使用配置文件是不是能给我们带来好处呢?答案是肯定的。数据库连接字符串写在配置文件中,那么将来需要改动的时候,我们可以直接修改配置文件进行维护,而不需要将你的源程序修改、重新编译,这样修改的时候就不用修改代码。 配置文件是什么?     配置文件是随安装程序一起被安装到计算机上的文件,里面存放着安装好的应用程序运行时所需要的参数,我
用VB.net编写的Windows服务管理程序(堪称经典)全部源代码
用VB.net编写的Windows服务管理程序(堪称经典)全部源代码,提供了全部的服务功能,绝对值得下载
调用webapi的方法
请求地址:http://192.168.0.124/testwebapi/api/AddUser 请求方式:Post 验证方式:用户名密码等信息放在Http Header 提交. Account=用户名 pwd =密码 rid =3 参数示例:{"id": "123","name": "张建"} 参数说明: 字段参数类型参数说明参数范围说明 id string 编
如何调用一个windows上的应用程序呢?
-------------------------------------------------------------------------------- 可以用Runtime,使用的例子如下: /////////////////////////////////// Runtime runtime=Runtime.getRuntime(); Process process = Run...
WebAPI开发中的定时处理
在WebAPI开发中会遇到一些需要定时或周期性处理的功能,比如每天早上6点从服务器下载数据或每隔半个小时查询统计数据等,有时也需要将数据向客户端推送。如何让web API也能处理定时或周期性的任务呢?1.处理周期性任务周期性的任务可以通过C#自带的Timer类来实现。具体思路就是创建一个Timer,定时去执行web API内的方法,再这个方法内可以执行具体的数据操作,也可以结合SignalR进行数据
WebAPI学习(一)——创建Web API程序
在公司中用到的都是webAPI的应用程序,这个东西之前没有接触过。但是这个并不是什么新鲜的东西,因我们 之前有mvc的基础,所以说学习这个东西还是比较容易的,在开始的时候自己可能突然蒙圈了。因为在人家项目中用 到的东西自己之前都没有接触过,感觉非常的陌生甚至整个混乱了。但是当我们静下心来好好想想的话是非常容易 的,就是在某些写法上不太一样,其余的都差不多,下面就给大家创建第一个程序。
通过.NET客户端调用Web API(C#)
3.2 Calling a Web API From a .NET Client (C#) 3.2 通过.NET客户端调用Web API(C#) 本文引自:http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client By Mike Wasson | July 18, 2
发布 Webapi 如果是子目录可以设置 子目录为 添加应用程序 或虚拟目录
添加新应用,或者将虚拟目录转为web应用 在IIS里面设置 在文件夹上右键即可
WebApi的几种寄宿方式
ASP.NET Web API具有与ASP.NET MVC类似的编程方式,相关内容较少,如下通过一个实例讲解WebApi的集中寄宿方式。  目录  构建解决方案  定义Web API  以Web Host方式寄宿Web API  以Self Host方式寄宿Web API  利用HttpClient调用Web API  创建一个“联系人管理器”应用 一、构建解决方案
WebApi自宿主应用
WebApi 自宿主一例,关于Web Api的基础入门和相关概念可以参考 官方入门教程 CodeProject入门例子   1. 简介   WebAPI 托管有两种方式一种是通过IIS,一种就是通过寄宿在其他程序,例如window服务,window应用程序等等,前者主要用于发布和最后调试使用,后者一般多在开发测试环节。   我们知道WCF服务可以通过System
C# WebApi编写和调用
WebApi1.what?答: 对接各种客户端(浏览器,移动设备),构建http服务的框架2.where?答:部署在IIS中给外部应用提供数据3.why?答:C#MVC完美支持实现简单,明了,可控制4.How?答:    (1)打开VS2017-&amp;gt;创建web应用-&amp;gt;选择WebApi-&amp;gt;创建完成    (2)新建一个Controll 选择Web Api 控制器类 -&amp;gt;修改名称...
webapi服务端接口和实现类
查了挺多资料的,结合项目实际,写了服务端实现方式,只需要实例化就可以。使用的时候可以结合postman测试
创建与使用WEBAPI
1.创建WEBAPI 并写两个方法 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using System.Data; using Newtonsoft.Json;
如何在.net中调用web api,以get方法为例
如何在.net中调用web api,以get方法为例: [WebMethod] public static string LoadData() { //创建请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(&quot;http://10.0.0.163/a...
搭建简单的Web API项目、Web API的调用方式
搭建简单的Web API项目、Web API的调用方式
VS2010中VB.NET中API函数的调用
API有两种调用方式: 第一种使用declare的API调用, Declare Function publicname Lib "libname" [Alias "alias"]      [([[ByVal] variable [As type]      [,[ByVal] variable [As type]]...])] As Type  其中 function表示有返回值,也可
用vb.net实现的深度神经网络
用面向对象的方式来组织代码,也让调用这个网络变得很轻松。可以实现对手写数字的识别,内置了手写数字识别的数据库mnist,也可以实现自定义的函数对应关系。但是面向对象的程序免不了要频繁的复制内存,也不会使用GPU来跑代码,所以运行起来是挺慢的。但是基本的算法还是挺清晰的,学习交流用是可以的,如果读不懂或者代码运行不了,欢迎找我交流。
给web部门api访问成功的日志
Web部门的要求: 执行命令: root@web3:~# grep -e &quot;15/Oct/2018:12:5[2-4]&quot; /var/log/nginx/8082_web_access.log &amp;gt; /tmp/web3-access2018-10-15.txt   8台服务器都跑一下,拷出来,给web   就这样吧~~ Access里面的日志应该都是请求成功的    ...
如何在WPF应用程序中通过HttpClient调用Web API
本教程是继使用HttpClient调用Web API只有的补充教程,主要讲解了如何在WPF中异步调用Web API且不阻塞主线程。
使用ASP.NET Web Api构建基于REST风格的服务实战系列教程
最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http://bitoftech.net/2013/11/25/detailed-tutorial-building-asp-net-web-api-restful-service/。于是打算跟着学一下,把学习过程记录在博客园的同时也分享给大家。 每一篇结束后我都会把代码共享 由于我也
WebApi接口 - 如何在应用中调用webapi接口
» 简单做个webapi(查询+添加)接口 首先,我们需要有一个webapi接口项目,我这里以前面WebApi接口 - 响应输出xml和json文章的项目来构建本篇文章的测试用例;这里新建一个 DbData 数据源类,主要用来做数据存储和提供查询列表数据及添加数据方法,具体代码如: 1 public class DbData 2 { 3 public st
VB.NET调用Windows API函数 方法 (实例)
本例是Form中有一个按钮。 点击按钮,Form的Title会显示指定的文字。   Public Class Form3     Private Declare Auto Function SendMessage Lib "user32" Alias "SendMessageW" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal
WebApi 寄宿windows服务 bat脚本
echo '正在创建服务……' C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe Legal.Api.Service.exe  echo '正在启动服务……' net start LSHMobileService
用ASP.NET(WebForm模式)开发WebAPI的几个常用方法
用ASP.NET写了不少API了,有些人可能觉得MVC或者WCF(WebService)更适合写WebAPI,不过WebForm简单、易部署,还是很不错的WebAPI开发选择,以下是个人在开发中经常使用的几个方法,拿出来分享一下,高手请多多指点! 1.返回一些字符串(最基本的,肯定用得着) /// /// 返回字符串 /// /
WinForm 对Web Api 增 册 改 查 的基本操作
WebApi代码: public class ValuesController : ApiController { Entities db=new Entities(); // GET api/values public IEnumerable Get() { ret
基于VB.NET的Windows应用程序设计
课程简介 本课程介绍使用VB.NET开发Windows应用程序所需的知识和技能 预备知识 掌握基本的VB.NET语法 掌握数据库的基本知识 掌握面向对象的编程思想 能够使用Visual Studio.NET图形化界面开发环境 课时:108 课时 分为两部分 讲课部分:36 课时,课堂教学 实践部分:72 课时,课程实验 培养目标   通过本课程的学习,学生可以具备掌握使用VB.NET实现Windows应用程序的开发,并且为后续系列课程的专业化学习奠定基础。 目录 第1章 Windows窗体介绍 第2章 使用控件 第3章 构建控件 第4章 在Windows窗体应用程序中使用数据 第5章 与托管对象进行互操作 第6章 Windows窗体应用程序中的报表和打印 第7章 异步编程 第8章 增强应用程序的可用性 第9章 部署Windows窗体应用程序 第10章 Windows窗体应用程序的安全性 参考资料 互联网资源 http://msdn.microsoft.com/vstudio/ 可参考书籍 Windows Forms 高级编程    ISBN: 7-302-05521-1/TP.3248 MSDN 和 TechNet MSDN 站点上包含了大量可供开发人员使用的文档、代码和技巧: http://msdn.microsoft.com/ TechNet 站点上包括了 IT 专业人员在规划、部署、运行、维护和管理时参看和使用的文档、指南和技巧: http://www.microsoft.com/technet/
vb如何编写带执行参数的exe程序
关于vb如何编写带执行参数的exe程序 ,可以通过vb自带的 "command()"  命令来完成. 下面是CSDN说明:Command 函数      返回命令行的参数部分,该命令行用于装入 Microsoft Visual Basic 或 Visual Basic 开发的可执行程序。语法Command说明当从命令行装入 Visua
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 webapi教程python 数据库应用程序