【问题标题】:ConnectionError between Python and ASP .Net corePython 和 ASP .Net 核心之间的 ConnectionError
【发布时间】:2021-09-03 18:31:24
【问题描述】:

我想使用 Python 库 requests 连接到我的 ASP Net Core API 点。

尝试将 Json 从 Python 发送到 ASP Net 核心后,我收到以下消息:

ConnectionError: HTTPConnectionPool(host='localhost', port=5000): url: /api/Search 超出了最大重试次数(由 NewConnectionError(' 引起): 无法建立新的连接:[Errno 111] 连接被拒绝'))

顺便说一句:我只尝试过一次建立连接;-)

import requests
import json

class SearchApi:

@staticmethod
 def findFile(request):
    
    headers = {'Content-type': 'application/json', 'Accept': 'application/json'}
    url     = "http://localhost:5000/api/Search"
    response = requests.post(url, data=json.dumps(request.__dict__), headers=headers)

    return response.json()

和请求类:

class Request:

def __init__(self, driveId, itemId, searchName):
    self.driveId = driveId
    self.itemId = itemId
    self.searchName = searchName

和 Asp .Net Core 后端方法:

        [ApiController]
        [Route("api/[controller]")]
      public class SearchController : ControllerBase
         [HttpPost]
       public async Task<IActionResult> SearchFile([FromBody] SearchInfos searchInfos)
       {
        //......
        Console.WriteLine("Ping ! ! ");
        return Ok();
    }

不幸的是,后端没有来自 Python 的请求,但 Postman 或 Swagger 测试成功。

我在代码中犯了什么错误?

【问题讨论】:

    标签: python c# .net asp.net-core python-requests


    【解决方案1】:

    更新

    问题的原因是使用了ngrok代理。使用下面的命令来解决这个问题。

    ngrok http -host-header=localhost:5000
    

    尝试设置keep_alive = False

    s = requests.session()
    s.keep_alive = False
    

    尝试在标题中添加Connection=close

    headers = {
                'Connection': 'close',
                'Content-type': 'application/json', 
                'Accept': 'application/json'
              }
    

    【讨论】:

    • 您好,感谢您的回复,但很遗憾错误信息仍然存在。
    • @ChsharpNewbie 你能试试我更新的答案吗?
    • 试过了,可惜还是不行
    • @ChsharpNewbie 你能告诉我,你的 webapi 和 python 代码在同一台电脑上吗?
    • @ChsharpNewbie 我认为是防火墙阻止了 5000 端口。您需要允许它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    • 2020-04-25
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    • 2020-02-18
    相关资源
    最近更新 更多