RestSharp异步调用第三方接口本地运行可以获取到数据放在linux服务器上面获取不到任何数据

A_fat_man_davy 2019-11-21 11:23:43
我使用的.net core 使用RestSharp异步调用第三方接口 在本地运行可以获取到数据放在linux服务器上面获取不到任何数据!
...全文
799 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
A_fat_man_davy 2019-11-26
  • 打赏
  • 举报
回复
引用 19 楼 qq_45925758 的回复:
嗯那就先别运行你的代码,直接再那个linux服务器上用curl命令访问一遍,curl都访问不到的话,你就更访问不到
curl是可以访问到的
qq_45925758 2019-11-25
  • 打赏
  • 举报
回复
嗯那就先别运行你的代码,直接再那个linux服务器上用curl命令访问一遍,curl都访问不到的话,你就更访问不到
A_fat_man_davy 2019-11-25
  • 打赏
  • 举报
回复
引用 17 楼 heycyril 的回复:
也可以看看系统日志
系统日志没有报错
heycyril 2019-11-23
  • 打赏
  • 举报
回复
也可以看看系统日志
jx315425246 2019-11-22
  • 打赏
  • 举报
回复


引用 12 楼 A_fat_man_davy 的回复:
[quote=引用 11 楼 jx315425246 的回复:]
是构造request请求头的问题,请求头中有一个key:User-Agent,你看一下是如何构造的。代码没问题,重新构造http请求头(request)


感谢你朋友提出的宝贵建议
但是我添加了 也未能获取到值 在本地是没问题的 在linux服务器就会出现这样的问题

这个报错是用了请求回来里面data.data的值 由于他没有获取到返回值导致未实例化

这是我设置的不知道是否是我设置有问题:


[/quote]
Linux的值是不一样的,显然系统以为是window的请求,所以未返回数据
A_fat_man_davy 2019-11-22
  • 打赏
  • 举报
回复
引用 11 楼 jx315425246 的回复:
是构造request请求头的问题,请求头中有一个key:User-Agent,你看一下是如何构造的。代码没问题,重新构造http请求头(request)
感谢你朋友提出的宝贵建议 但是我添加了 也未能获取到值 在本地是没问题的 在linux服务器就会出现这样的问题 这个报错是用了请求回来里面data.data的值 由于他没有获取到返回值导致未实例化 这是我设置的不知道是否是我设置有问题:
A_fat_man_davy 2019-11-22
  • 打赏
  • 举报
回复
引用 15 楼 wanghui0380 的回复:
想办法使用http封包工具监听一下提交和返回 windows上俺们有fiddler,linux下玩的不多,应该有同样的东西。 把整个通讯过程展示出来,如果有通讯,只是restsharp不行那就换把,反正httpclient,httprequest手段多(在nuget上,我还看的见net版curl)
这个是我抓的包
wanghui0380 2019-11-22
  • 打赏
  • 举报
回复
想办法使用http封包工具监听一下提交和返回 windows上俺们有fiddler,linux下玩的不多,应该有同样的东西。 把整个通讯过程展示出来,如果有通讯,只是restsharp不行那就换把,反正httpclient,httprequest手段多(在nuget上,我还看的见net版curl)
A_fat_man_davy 2019-11-22
  • 打赏
  • 举报
回复
引用 13 楼 jx315425246 的回复:
[quote=引用 12 楼 A_fat_man_davy 的回复:] [quote=引用 11 楼 jx315425246 的回复:] 是构造request请求头的问题,请求头中有一个key:User-Agent,你看一下是如何构造的。代码没问题,重新构造http请求头(request)
感谢你朋友提出的宝贵建议 但是我添加了 也未能获取到值 在本地是没问题的 在linux服务器就会出现这样的问题 这个报错是用了请求回来里面data.data的值 由于他没有获取到返回值导致未实例化 这是我设置的不知道是否是我设置有问题: [/quote] Linux的值是不一样的,显然系统以为是window的请求,所以未返回数据[/quote] 请问linux的agent应该是多少 试了几个没有一个能用的
A_fat_man_davy 2019-11-21
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
#1 正解 先看Linux服务器是不是能访问。 在考虑有没有异常日志。
是可以访问的 朋友
A_fat_man_davy 2019-11-21
  • 打赏
  • 举报
回复
引用 1 楼 wanghui0380 的回复:
那就先别运行你的代码,直接再那个linux服务器上用curl命令访问一遍,curl都访问不到的话,你就更访问不到 如果说curl可以访问到,我们再谈下面的问题
可以访问的 而且在本地也是能获取到数据 在linux服务器上面报错是未将对象引用到实例 原因是我在 返回时 return response.Data.data; 证明response里面是不存在这个的 我答应了 response也的确是空
正怒月神 2019-11-21
  • 打赏
  • 举报
回复
#1 正解 先看Linux服务器是不是能访问。 在考虑有没有异常日志。
wanghui0380 2019-11-21
  • 打赏
  • 举报
回复
那就先别运行你的代码,直接再那个linux服务器上用curl命令访问一遍,curl都访问不到的话,你就更访问不到 如果说curl可以访问到,我们再谈下面的问题
jx315425246 2019-11-21
  • 打赏
  • 举报
回复
是构造request请求头的问题,请求头中有一个key:User-Agent,你看一下是如何构造的。代码没问题,重新构造http请求头(request)
A_fat_man_davy 2019-11-21
  • 打赏
  • 举报
回复
引用 9 楼 娃都会打酱油了 的回复:
那确认是不是走代理了,或者有证书什么的
这个就不太清楚
  • 打赏
  • 举报
回复
那确认是不是走代理了,或者有证书什么的
A_fat_man_davy 2019-11-21
  • 打赏
  • 举报
回复
引用 7 楼 娃都会打酱油了 的回复:
code是0,没访问成功,确认下linux服务器能不能访问目标网络
这个已经确认过是可以的
  • 打赏
  • 举报
回复
code是0,没访问成功,确认下linux服务器能不能访问目标网络
A_fat_man_davy 2019-11-21
  • 打赏
  • 举报
回复
引用 5 楼 娃都会打酱油了 的回复:
记录下Response的Status是不是200,然后再记录下Response.Content是什么内容,这样才好分析问题
这个是本地请求过来的: linux服务器上请求回来:
  • 打赏
  • 举报
回复
记录下Response的Status是不是200,然后再记录下Response.Content是什么内容,这样才好分析问题

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧