C# .net Core3.1环境 后端请求报 302错误
今天发现一个接口报错:The remote server returned an error: (302) Bad Request.
分析了一下是调用第三方的时候走auth2认证的流程报错。推测是对方的接口做了调整导致的,之前接口返回httpcode 200,现在httpcode 302(重定向)。
附上之前的请求主要逻辑(C#)
var request = WebRequest.Create(url);request.Method = "GET";//在GetResponse的时候抛出了302错误using (var response = request.GetResponse()){string query = response.ResponseUri.Query;Dictionary<string, string> dic = ParseQueryString(query);if (dic.ContainsKey("code")){result = dic["code"];}}
试了捕获WebException ,也无法获取到Respose的重定向地址
经过研究无耐只能尝试HttpClient的方式请求,修改后的代码:
HttpClientHandler hander = new HttpClientHandler();hander.AllowAutoRedirect = true;using (var client = new HttpClient(hander)){var res = client.GetAsync(requestUri).Result;if (res.StatusCode == HttpStatusCode.OK){string query = res.RequestMessage.RequestUri.Query;Dictionary<string, string> dic = ParseQueryString(query);if (dic.ContainsKey("code")){result = dic["code"];}}else if (res.StatusCode == HttpStatusCode.Redirect){string query = res.Headers.Location.Query;Dictionary<string, string> dic = ParseQueryString(query);if (dic.ContainsKey("code")){result = dic["code"];}}
经过测试,发现可以正常获取到重定向的URL了。
事后分析了一下是因为.net core 独有的问题,WebRequest默认不支持重定向,需要自己再模拟重定向的操作。在framework 4.x 就没有问题,默认支持重定向。实属无奈,劝大家给三方提供的接口能不改就尽量不改吧,给大家一个良好的编程环境。
C# .net Core3.1环境 后端请求报 302错误相关推荐
- ajax的post请求出现403错误,如何解决Django中ajax发送post请求报403错误CSRF验证失败的问题...
如何解决Django中ajax发送post请求报403错误CSRF验证失败的问题 发布时间:2021-02-05 14:23:57 来源:亿速云 阅读:92 作者:小新 这篇文章主要介绍了如何解决Dj ...
- 前端post请求报400错误
前端post请求报400错误 发布时间: 2019-06-05 18:28:54 400的错误是由于发送请求参数没有成功 原因:参数名称类型没有对上:或者参数格式不正确 参数格式不正确,解决方法:格式 ...
- php上传图片302错误,解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法...
最近用ThinkPHP开发一个项目,集成了批量上传文件插件Uploadify,在谷歌Chrome和IE下都能正常上传,只有火狐下提示这个错误,网上找了很多解决办法,基本都说flash在firefox下 ...
- swfupload在xp系统上360极速模式报302错误解决方法
swfupload有时在谷歌或火狐内核丢失session,有拦截器验证登录时会报302错误. 解决思路是在前台获取jsessionid,上传时一并传入后台,在拦截器通过请求的jsessionid获取s ...
- MVC中使用jquery uploadify上传图片报302错误
使用jquery uploadify上传图片报302错误研究了半天,发现我上传的action中有根据session判断用户是否登录,如果没有登录就跳到登陆页,所以就出现了302跳转错误.原来更新了fl ...
- 前后端分离,解决Spring Cloud GateWay + Nacos使用lb请求报503错误以及403跨域问题
在使用前后端分离时,前端请求gateway接口,gateway使用lb负载均衡请求目标服务. 如下: spring:cloud:gateway:routes:- id: test-demouri: l ...
- SpringBoot中post请求报405错误排坑
记一次排坑过程. SpringBoot中前端向后端发起post请求,页面提示405错误,方法不被支持. 然后尝试了一下get请求,是完全没问题的. 一开始以为是控制器配置错了,但仔细排查,控制器用的是 ...
- http请求报400错误
前端请求时,接口报400错误,逻辑没有进后端的断点,甚至连接口都没进,swagger自测可行,那么问题势必出在前端传参上,前端封装的入参肯定和后端定义的入参实体有类型不对应的字段,果然,后端定义的是i ...
- 服务器进tp5项目报nginx404错误,TP5框架在nginx环境下路由报404错误解决方法 亲测可用...
前段时间给客户写了个TP5框架的后台,主要是API调用,上传到客户服务器后发现首页可用,但所有内页报404错误,网上一搜发现天多一样的问题,但找了很多都是不可用的,而且都是过时的,但最终还是自己试出来 ...
最新文章
- 关于JS面向对象、设计模式、以及继承的问题总结
- 2013年7月12日“修复 Migration 测试发现的 Bug”
- Dart中的mixins
- 手机User-Agent大全(Android爬虫)
- python编程书籍资料整理大全
- OC正则表达式的使用
- 蓝桥杯 ADV-66算法提高 阮小二买彩票
- 不使用网线就无法将两台计算机连接成网络,不通过路由器将两台计算机连接到网络的方法不止一种-如何将两台计算机连接到局域网...
- Linux虚拟存储系统
- Python实战:个人贷款计算器
- 大菠萝?Pinia已经来了,再不学你就out了
- 微信小程序开发:腾讯地图集成详细步骤
- scp的用法,包括windows和linux
- xpr文件格式用什么打开
- 计算机的击键方法教学教案,2.2 敲击键盘 教案
- 普元中间件部署应用程序
- H.T. Kung对博士生研究的建议
- php carbon 中文,Carbon中文使用手册(下)
- Spring Boot集成Hibernate Validator
- Linux 监控工具 tsar(转)
热门文章
- MySQL 实训一周,我一天搞完
- mysql-字符串函数-大全
- 漫话:如何给女朋友解释为什么双11无法修改收货地址
- 计算机速度参数,电脑速度快不快要看什么参数
- opengl:错误: 无法打开包括文件:“gl/glut.h”: No such file or directory
- 整理了一份招PHP高级工程师的面试题(转)
- c#mysql连接数据库字符串_C# 连接SQL数据库字符串
- centos dnf命令原始源安装mysql成功案例
- CSS布局盒子模型(复习巩固)
- python stdout_python的stdout输出无缓存