今天发现一个接口报错: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错误相关推荐

  1. ajax的post请求出现403错误,如何解决Django中ajax发送post请求报403错误CSRF验证失败的问题...

    如何解决Django中ajax发送post请求报403错误CSRF验证失败的问题 发布时间:2021-02-05 14:23:57 来源:亿速云 阅读:92 作者:小新 这篇文章主要介绍了如何解决Dj ...

  2. 前端post请求报400错误

    前端post请求报400错误 发布时间: 2019-06-05 18:28:54 400的错误是由于发送请求参数没有成功 原因:参数名称类型没有对上:或者参数格式不正确 参数格式不正确,解决方法:格式 ...

  3. php上传图片302错误,解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法...

    最近用ThinkPHP开发一个项目,集成了批量上传文件插件Uploadify,在谷歌Chrome和IE下都能正常上传,只有火狐下提示这个错误,网上找了很多解决办法,基本都说flash在firefox下 ...

  4. swfupload在xp系统上360极速模式报302错误解决方法

    swfupload有时在谷歌或火狐内核丢失session,有拦截器验证登录时会报302错误. 解决思路是在前台获取jsessionid,上传时一并传入后台,在拦截器通过请求的jsessionid获取s ...

  5. MVC中使用jquery uploadify上传图片报302错误

    使用jquery uploadify上传图片报302错误研究了半天,发现我上传的action中有根据session判断用户是否登录,如果没有登录就跳到登陆页,所以就出现了302跳转错误.原来更新了fl ...

  6. 前后端分离,解决Spring Cloud GateWay + Nacos使用lb请求报503错误以及403跨域问题

    在使用前后端分离时,前端请求gateway接口,gateway使用lb负载均衡请求目标服务. 如下: spring:cloud:gateway:routes:- id: test-demouri: l ...

  7. SpringBoot中post请求报405错误排坑

    记一次排坑过程. SpringBoot中前端向后端发起post请求,页面提示405错误,方法不被支持. 然后尝试了一下get请求,是完全没问题的. 一开始以为是控制器配置错了,但仔细排查,控制器用的是 ...

  8. http请求报400错误

    前端请求时,接口报400错误,逻辑没有进后端的断点,甚至连接口都没进,swagger自测可行,那么问题势必出在前端传参上,前端封装的入参肯定和后端定义的入参实体有类型不对应的字段,果然,后端定义的是i ...

  9. 服务器进tp5项目报nginx404错误,TP5框架在nginx环境下路由报404错误解决方法 亲测可用...

    前段时间给客户写了个TP5框架的后台,主要是API调用,上传到客户服务器后发现首页可用,但所有内页报404错误,网上一搜发现天多一样的问题,但找了很多都是不可用的,而且都是过时的,但最终还是自己试出来 ...

最新文章

  1. 关于JS面向对象、设计模式、以及继承的问题总结
  2. 2013年7月12日“修复 Migration 测试发现的 Bug”
  3. Dart中的mixins
  4. 手机User-Agent大全(Android爬虫)
  5. python编程书籍资料整理大全
  6. OC正则表达式的使用
  7. 蓝桥杯 ADV-66算法提高 阮小二买彩票
  8. 不使用网线就无法将两台计算机连接成网络,不通过路由器将两台计算机连接到网络的方法不止一种-如何将两台计算机连接到局域网...
  9. Linux虚拟存储系统
  10. Python实战:个人贷款计算器
  11. 大菠萝?Pinia已经来了,再不学你就out了
  12. 微信小程序开发:腾讯地图集成详细步骤
  13. scp的用法,包括windows和linux
  14. xpr文件格式用什么打开
  15. 计算机的击键方法教学教案,2.2 敲击键盘 教案
  16. 普元中间件部署应用程序
  17. H.T. Kung对博士生研究的建议
  18. php carbon 中文,Carbon中文使用手册(下)
  19. Spring Boot集成Hibernate Validator
  20. Linux 监控工具 tsar(转)

热门文章

  1. MySQL 实训一周,我一天搞完
  2. mysql-字符串函数-大全
  3. 漫话:如何给女朋友解释为什么双11无法修改收货地址
  4. 计算机速度参数,电脑速度快不快要看什么参数
  5. opengl:错误: 无法打开包括文件:“gl/glut.h”: No such file or directory
  6. 整理了一份招PHP高级工程师的面试题(转)
  7. c#mysql连接数据库字符串_C# 连接SQL数据库字符串
  8. centos dnf命令原始源安装mysql成功案例
  9. CSS布局盒子模型(复习巩固)
  10. python stdout_python的stdout输出无缓存