请教httpclient()发送异步POST请求时,程序为什么会卡住继续不下去了 20C

想使用httpclient()发送post请求以获得token,部分程序如下图。当程序进行到途中红色代码,即var response=await client.sendasync(request)时,程序没有报错也无提示,就不能继续进行下去了,请本人初学菜鸟,盼请大牛指教。

pos

5个回答

流程图出去耍去了噻。

await 是在node8里才实现的语法,而且要配合 async使用

这个是异步API,等待你发送的请求返回。需要你程序收到返回结果才会继续

卡住是正常现象。卡住是因为正在请求,并且请求的连接不上,或等待相应。
连接不上的原因可能是请求地址不存在,或网络问题 或服务器忙
等待相应时间长可能是服务端处理业务时间长
可以设置超时时间来控制卡住的时间

卡住说明正在请求 如果能在后台打断点最好看下后台断点进入没有 如果进入说明正常请求中 看控制台是否报错 进一步分析问题所在

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Httpclient()发送异步POST请求时的异常问题
使用Httpclient()发送POST 请求以获得Token,部分程序如下:rn[code=csharp] rn public async Task GetAccessTokenAsync()rn rn if (SubscriptionKey == string.Empty) return string.Empty;rnrn // Re-use the cached token if there is one.rn if ((DateTime.Now - storedTokenTime) < TokenCacheDuration)rn rn return storedTokenValue;rn rnrn using (var client = new HttpClient())rn using (var request = new HttpRequestMessage())rn rn request.Method = HttpMethod.Post;rn request.RequestUri = ServiceUrl;rn request.Content = new StringContent(string.Empty);rn request.Headers.TryAddWithoutValidation(OcpApimSubscriptionKeyHeader, this.SubscriptionKey);rn client.Timeout = TimeSpan.FromSeconds(2);rn rn var response = await client.SendAsync(request);rn this.RequestStatusCode = response.StatusCode;rn response.EnsureSuccessStatusCode();rn var token = await response.Content.ReadAsStringAsync();rn storedTokenTime = DateTime.Now;rn storedTokenValue = "Bearer " + token;rn return storedTokenValue;rn rn [/code]rn在调试过程中,发现程序运行到rnvar response = await client.SendAsync(request);时,就不能往下继续运行,过程中既没有错误也没有其他消息显示。rn本人菜鸟,已经被这个问题弄得焦头烂额了两周了,盼请大牛指教。
httpclient发送post请求
其中包含项目post-demo定义接口;包含另一个项目httpclient-demo使用工具类发送post请求调用接口。详细内容查看博客 httpclient发送post请求
HttpClient发送post请求,和发送get请求
HttpClient发送post请求,和发送get请求
使用httpclient发送post请求
/**      * 获取请求数据      *      * @param uriStr      * 请求路径      * @param param      * 请求参数,使用String param = MessageFormat.format("action={0}&userid={1}&account={2}&password={3}&mobile={4}&content
HttpClient 发送get和post请求
一个简单的易学的 基于HttpClient 4.3发送psot及get请求,返回数据,适合初学者
使用HttpClient发送Post请求
本套教程的目标是让Cocos2d-x初学者掌握Cocos2d-x 3.0的基本开发技术(包括开发环境的搭建、Director、Node、Scene、Layer等,这些技术都是开发游戏的技术。并且可以利用本套 教程讲解的技术实现一个射击类游戏:星空大战。
HttpClient发送Post请求(二)
前言 上一篇说的是基于 http 协议发送json、xml形式的报文,本篇介绍键值对方式的参数发送方式 codepackage common; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; imp
HttpClient发送Post请求(一)
pom<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.3</version> </dependency> codepackage com.xxxxxx.xxxxx; import java.io.IOExcept
【httpclient】httpclient发送表单POST请求
浏览器Form Post请求 浏览器可以通过提交表单的方式向服务器发起POST请求,这种形式的POST请求不同于一般的POST请求 1. 一般的POST请求,将请求数据放置于请求体中,服务器端以二进制流的方式读取数据,HttpServletRequest.getInputStream()。这种方式的请求可以处理任意数据形式的POST请求,比如请求数据是字符串或者是二进制数据 2. For...
HttpClient发送get请求,post请求代码
使用Httpclinet发送get,post等请求方式代码记录: 注意事项: 本文只以get请求方式为例,post请求方式只需将HttpGet换为HttpPost即可。 在使用HttpPost时,设置请求参数的方式除了使用URI类外,还可以使用HttpPost.setEntity(HttpEntity entity)方法。 public static String doGe...
HttpClient发送post和get请求方法模板
项目中经常会用到利用http协议向指定接口发起post(传送数据)或get(获取数据)请求来处理业务,以下整理了http协议请求常用到的两种请求方法,可作为通用工具类使用: public class HttpUtils { /** * post请求 */ public static JSONObject doPost(String url, Map&lt;String, String&...
使用httpClient发送get\post请求
方式一:HttpClientUtil工具类: public class httpClientUtil { CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpResponse response = null; /** * get请求,参数拼接在地址上 *...
HttpClient发送POST请求,SpringMVC接收的问题。
发送代码:rn[code=java]rnpublic static void main(String[] args) throws Exception rn HttpClient client = new DefaultHttpClient();rn String path = "http://localhost:8080/TestAnnotationConfig/b";rn HttpPost post = new HttpPost(path);rn Vendor v = new Vendor();rn v.setName("传输数据");rn v.setDescription("数据传输");rn v.setCreateDate(new Date());rn v.setId(20);rn String content = JSONBinder.binder(Vendor.class).toJSON(v);rn StringEntity entity = new StringEntity(content);rn entity.setContentEncoding("UTF-8");rn entity.setContentType("application/json");rn post.setEntity(entity);rn HttpResponse response = client.execute(post);rn System.out.println("响应状态码:" + response.getStatusLine().getStatusCode());rn InputStream is = response.getEntity().getContent();rn String text = StreamUtil.readInputStream(is);rn System.out.println("服务器端响应的数据:" + text);rn rn[/code]rnrn服务器端接收的代码:rn[code=java]rn@RequestMapping(value = "/b", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)rn @ResponseBodyrn public String b(@RequestBody Vendor v) rn System.out.println("客户端发送的数据:" + v);rn return "success";rn rn[/code]rnrn执行代码报错415。请问怎么回事?rnJackson的HttpMessageConverter我已经配置了,从服务器端返回数据测试已通过,现在就是朝服务器端发送json,报错415。rnrn大神求解,叩谢。
利用httpclient发送GET/POST请求
暂时只写post import com.alibaba.fastjson.JSON; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.Validate; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse;...
httpclient发送GET和POST请求方式的具体步骤
HttpClient方式发送GET和POST请求实现和后台服务器的通信: 这里只给出了使用httpclient方式发送request所必须要经历的步骤: 以以下代码为例: 发送GET请求 (1)定义get方式要提交的数据(String name = et_username.getText().toString().trim(); String pwd = et_password.getText()...
HttpClient发送put与post请求代码实例与解析
    /**     * 实例化HttpClient     * maxTotal  最大连接数     * maxPerRoute  最大并发量     * socketTimeout  从服务器读取数据超时时间     * connectTimeout  和服务器建立连接超时时间     * connectionRequestTimeout  从连接池获取连接的超时时间     * @ret...
Java使用HttpClient发送Get和Post请求
HttpClient是什么,用来干什么,怎么用?这三个问题还是看官方教程吧 英文的官方教程: http://hc.apache.org/httpcomponents-client-ga/tutorial/html/index.html 中文的官方教程: https://www.ctolib.com/topics-80581.html 需要的Jar包下载: http://hc.apach...
httpclient发送post请求中文全是问号
使用httpClient的HttpPost方法请求,请求头和请求体全部设置的和调试工具中的一样,请求体中包括中文和外面包着的标签(主要是对格式的定义),请求发送到服务器,然后存到数据库,然后再通过网页调用这些内容。我使用的namevaluepair,编码是gb2312,无论这么设置,打开网页后,中文全是问号。rn但在这步之前,我还用了multipart发送post请求,那里面的中文就能正常显示。rn请问大神是什么原因?谢谢!
HttpClient发送Get、Post请求简单实践
1. 配置及初始化HttpClient: private static final CloseableHttpClient httpclient; public static final String CHARSET = "UTF-8"; static{ RequestConfig config = RequestConfig.custom().setConnectTimeout
HttpClient发送post请求传输json数据
NULL 博文链接:https://cxl2012.iteye.com/blog/2210521
HttpClient 发送Post请求 携带 文件 参数
1  HttpPost 请求  携带参数 同时上传文件 的关键 代码  客户端核心代码  //创建HttpClient 请求 CloseableHttpClient httpClient = HttpClients.createDefault(); String url = &quot;https://frt.aaa.bbb:8080/test/oneServlet&quot;; //创建...
【java】 HttpClient发送POST请求示例
package com.test.ns.test; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.http.HttpE
HttpClient发送POST、GET请求工具类
由于最近公司需要和别的公司进行数据交互,数据都是有我这边发送出去的,所以我就写了一个发送请求的工具类,由于是服务器调用服务器就没有设置请求头,下面是代码: package com.cmct.ysq.util; import com.cmct.ysq.model.bo.BodyFatTestBo; import net.sf.json.JSONArray; import org.apache....
java使用Httpclient发送post和get请求
做项目的时候需要使用到远程调用某个接口,采用简单的httpclient是一个不错的选择;采用http发送请求最核心的代码是httpClient.execute(httpPost) 下面是我项目中使用的工具类HttpClientUtil ,可以直接进行调用 /** * httpclient util 处理http请求工具类 * * @author administrator */ pu
使用httpclient发送get/post请求
当我们需要调用http接口时,可以使用httpclient以get/post方式发送请求,获取返回的json数据maven依赖如下<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version
java实现httpclient发送post请求
需求:现在要在java后端接口中直接请求客户提供的其他接口来获取所需要的数据,那么就需要用到httpclient来做,下面做一个实现以记录... 第一步:导入所需要的jar包并写一个工具类 1.post请求工具类 因为我们需要的协议是https协议,所以我做了一个httpsPostUtil package com.qs.util; impo
HttpClient发送get请求和post请求
新建两个项目:test-demo为接口方法,httpclient-demo测试发送get请求和post请求。 1.Httpclient发送get请求 httpclient-demo中测试方法 httpclient-demo中工具类 test-demo接口方法 2.Httpclient发送post请求 httpclient-demo中测试方法 Httpclient-de...
httpClient发送post请求,传递json字符串
httpClient发送post请求,传递json字符串
使用Apache的HttpClient发送Get、Post请求
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Iterator; ...
HTTPClient跨域访问 ——Post请求
第一种字符串流:try             {                 var url = "http://paas-logger-openops.myalauda.cn/api/core/logger/log.json";                 var httpClient = new HttpClient();                 var ht
httpclient模拟的post请求
使用httpclient模拟的post请求也同样出现了java.net.UnknownHostException: ****.*****.com(主机名)无法解析主机名。rn但是这个请求地址加上参数直接在IE地址栏里是可以访问到的,这是什么原因? rn
HttpClient post请求
HttpClient post请求(用于key-value格式的参数), post请求(用于请求json格式的参数),加入了请求头以及token认证,成功之后读取服务器返回过来的json字符串数据
AngularJS发送异步Get/Post请求
AngularJS发送异步Get/Post请求1 . 在页面中加入AngularJS并为页面绑定ng-app 和 ng-controller<body ng-app="MyApp" ng-controller="MyCtrl" > ... <script src="js/angular.min.js"></script> <script src="js/sbt.js"></script>2 . 添加
Objective-c 异步发送Post请求的工具类
原文链接iOS开发——post异步网络请求封装有改动HttpUtil.h#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #import "Reachability.h"@interface HttpUtil : NSObject+ (BOOL)NetWorkIsOK;//检查网络是否可用 + (void)post:(NSString
简单的 http 发送异步post请求
public static bool DoPost(string postUrl,Dictionary parameters,string userToken,out JObject obj)         {             obj = null;             string jsonstr = JsonConvert.SerializeObject(parameter
嵌入式系统内核的仿真继续不下去了,帮帮忙
现在我在从事嵌入式系统内核的仿真,要求能够实现基本的任务切换,由于原本内核代码是用gcc编译的,汇编是AT&T格式的,我把汇编改成intel格式,在vc6.0下编译修改后的内核代码生成一个库,用原来运用的文件建立一个项目,然后调用生成的内核库,但是由于2000下的保护模式,特权级指令没法使用,于是我把这些特权级指令删掉了,因此总是在上下文切换的时候找不到任务的入口(也许也不是特权指令的原因),现在我想问各位:rn1。内核仿真用这种生成内核库的方式对不对?win2000会不会对仿真的任务切换有影响?rn2。我不知道简单的把AT&T格式的汇编转换为intel格式行不行?还是还要做其他工作?有没有能够不转换AT&T汇编就可以在vc中使用原本的内核代码的方法?rn3。如果没有其他方法,那如何处理这些特权级指令(如开关中断sti,cli等)?rn4. 有人告诉我说可以做一个simulator,直接用目标代码仿真运行就可以.那么如何做simulator?rn我是一个新手,大家帮忙想想如何下手,或者告诉我有用的文章或者网站,在这非常感谢
做不下去了,请教各位?
Imports System.Data.OleDbrnPublic Class Testrn Private p_empid As Integerrn Private P_job As Stringrn Property empid() As Integerrn Getrn Return p_empidrn End Getrn Set(ByVal Value As Integer)rn p_empid = Valuern End Setrn End Propertyrn Property job() As Stringrn Getrn Return P_jobrn End Getrn Set(ByVal Value As String)rn P_job = Valuern End Setrn End PropertyrnEnd ClassrnPublic Class Testdbrn Public Function dbcon() As Testrn Dim conn As New OleDbConnection()rn Dim cmd As OleDbCommandrn conn.ConnectionString = "Provider=OraOLEDB.Oracle;User D=scott;Password=tiger;Data Source=aca013"rn cmd = conn.CreateCommandrn cmd.CommandText = CommandType.Textrn cmd.CommandText = "select * from emp"rn cmd.Connection = connrn conn.Open()rn Dim reader As OleDbDataReaderrn reader = cmd.ExecuteReaderrn Dim arrlist As New ArrayList()rn Dim testproperty As Testrn While reader.Readrn testproperty = New Test()rn testproperty.empid = Decimal.ToInt32(reader.GetDecimal(0))rn testproperty.job = reader.GetString(1)rn arrlist.Add(testproperty)rn End Whilern 'Return (Test())arrlist.ToArray(typeof(Test))rn End FunctionrnEnd Classrn上面的代码想实现从表emp中取出两个字段值,rndbcon() 我想返回数组类型,其元素是Test,请问 Public Function dbcon() As Test 和 Return 这里怎么写啊?rn
发送HTTP请求,程序卡住,求支招
用httpclient发送请求:HttpResponse response = client.execute(httpPost);rn(在测试断网的情况下,程序的情况)rn超时的时间设为5秒。发送http请求的代码放在一个用bindservice启动的一个Service里面,在超时的5秒的时间内,UI线程是卡住的,求支招
HttpClient发送上传文件请求
HttpClient发送上传文件请求时,在构造请求对象时,content-type不能含有boundary对象,因为在构造请求体时会生成一个唯一的boundary,导致content-type的boundary和实际的boundary不一致...
HttpClient发送后台请求
由于API的不断更新,所以创建HttpClient对象和设置超时代理方式也会有细微区别 // 3.X版本 HttpClient httpClient=new DefaultHttpClient(); httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_...
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件